** IMPORTANT NOTE ** Starting with CESM1.0.6, the Subversion repository path has changed. All documetation for downloading the most current version of the model has been updated to reflect this change and older version differences are noted.
CESM release code will be made available through a Subversion repository. Access to the code will require Subversion client software in place that is compatible with our Subversion server software, such as a recent version of the command line client, svn. Currently, our server software is at version 1.6.11. According to the information on the Subversion FAQ, it should be ok to use a client at version 1.5 or later, although we cannot guarantee a client older than 1.6.11. For more information or to download open source tools, visit:
http://subversion.tigris.org/ |
With a valid svn client installed on the machine where CESM1 will be built and run, the user may download the latest version of the release code. First view the available release versions with the following command:
** IMPORTANT NOTE ** Starting with CESM1.0.6, the Subversion repository path has changed.
> svn list https://svn-ccsm-models.cgd.ucar.edu/cesm1/release_tags |
For all versions prior to CESM1.0.6, please use the following command to view available releases.
> svn list https://svn-ccsm-release.cgd.ucar.edu/model_versions |
When contacting the Subversion server for the first time, the following certificate message will likely be generated:
Error validating server certificate for 'https://svn-ccsm-models.cgd.ucar.edu:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! - The certificate hostname does not match. - The certificate has expired. Certificate information: - Hostname: localhost.localdomain - Valid: from Feb 20 23:32:25 2008 GMT until Feb 19 23:32:25 2009 GMT - Issuer: SomeOrganizationalUnit, SomeOrganization, SomeCity, SomeState, -- - Fingerprint: 86:01:bb:a4:4a:e8:4d:8b:e1:f1:01:dc:60:b9:96:22:67:a4:49:ff (R)eject, accept (t)emporarily or accept (p)ermanently? |
After accepting the certificate, the repository will request a username and password. Be aware that the request is set to the current machine login id and you must enter the CESM registered default username of 'guestuser' by pressing the 'Enter' key when prompted for a Username.
You may be prompted up to 3 times for the username and password when checking out the code for the first time from this new Subversion path. This is because the code is distributed across a number of different Subversion repositories and each repository requires authentication.
Once correctly entered, the username and password will be cached in a protected subdirectory of the user's home directory so that repeated entry of this information will not required for a given machine.
The release tags should follow a recognizable naming pattern, and they can be checked out from the central source repository into a local sandbox directory. The following example shows how to checkout model version cesm1.0.6:
> svn co https://svn-ccsm-models.cgd.ucar.edu/cesm1/release_tags/cesm1_0_6 cesm1_0_6 |
Caution | ||
If a problem was encountered during checkout, which may happen with an older version of the client software, it may appear to have downloaded successfully, but in fact only a partial checkout has occurred. To ensure a successful download, make sure the last line of svn output has the following statement:
Or, in the case of an 'svn update' or 'svn switch':
|
This will create a directory called cesm1_0_6 that can be used to modify, build, and run the model. The following Subversion subcommands can be executed in the working sandbox directory.
For various information regarding the release version checked out...
> svn info |
For a listing of files that have changed since checkout...
> svn status |
For a description of the changes made to the working copy...
> svn diff |
** IMPORTANT NOTE ** Starting with CESM1.0.6, the Subversion repository path has changed. Consequently, the information below regarding 'svn update' or 'svn switch' is only valid for CESM releases prior to CESM1.0.6. Follow the steps outlined above to upgrade to CESM1.0.6 from previous versions of the model.
To update to a newer version of the release code you can download a new version of CESM1.0 from the svn central source repository in the following way:
Suppose for example that a new version of cesm1.0 is available at https://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm1_0_<newversion>. This version can be checked out directly using the same standard CESM download method.
As an alternative, some users may find the svn switch operation useful. In particular, if you've used svn to check out the previous release, cesm1_0_<previousversion>, and if you've made modifications to that code, you should consider using the svn switch operation. This operation will not only upgrade your code to the version cesm1_0_<newversion>, but will also attempt to reapply your modifications to the newer version.
How to use the svn switch operation:
Suppose you've used svn to check out cesm1_0_<previousversion> into the directory called /home/user/cesm1_0
Make a backup copy of /home/user/cesm1_0 -- this is important in case you encounter any problems with the update
cd to the top level of your cesm1_0 code tree...
> cd /home/user/cesm1_0 |
Issue the following svn command...
> svn switch https://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm1_0_<newversion> |
The svn switch operation will upgrade all the code to the new cesm1_0_<newversion> version, and for any files that have been modified, will attempt to reapply those modifications to the newer code.
Note that an update to a newer version of the release code may result in conflicts with modified files in the local working copy. These conflicts will likely require that differences be resolved manually before use of the working copy may continue. For help in resolving svn conflicts, please visit the subversion website,
http://svnbook.red-bean.com/en/1.5/svn.tour.cycle.html#svn.tour.cycle.resolve
A read-only option is available for users to view via a web browser at
https://svn-ccsm-release.cgd.ucar.edu
where the entire CESM1 release directory tree can be navigated.
The following examples show common problems and their solutions.
Problem 1: If the hostname is typed incorrectly:
> svn list https://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm1_0_<version> svn: PROPFIND request failed on '/model_versions/cesm1_0_<version>' svn: PROPFIND of '/model_versions/cesm1_0_<version>': Could not resolve hostname `svn-ccsm-releese': Host not found (https://svn-ccsm-releese) |
Problem 2: If http is typed instead of https:
> svn list http://svn-ccsm-release.cgd.ucar.edu/model_versions/cesm1_0_<version> svn: PROPFIND request failed on '/model_versions/cesm1_0_<version>' svn: PROPFIND of '/model_versions/cesm1_0_<version>': could not connect to server (http://svn-ccsm-release.cgd.ucar.edu) |
Input datasets are needed to run the model. CESM input data will be made available through a separate Subversion input data repository. The username and password for the input data repository will be the same as for the code repository.
Note: The input data repository contains datasets for many configurations and resolutions and is well over 1 TByte in total size. DO NOT try to download the entire dataset.
Datasets can be downloaded on a case by case basis as needed and CESM now provides tools to check and download input data automatically.
A local input data directory should exist on the local disk,
and it also needs to be set in the CESM scripts via the variable
$DIN_LOC_ROOT_CSMDATA
. For supported machines, this
variable is preset. For generic machines, this variable
is set as an argument to create_newcase. Multiple
users can share the same $DIN_LOC_ROOT_CSMDATA
directory.
The files in the subdirectories of
$DIN_LOC_ROOT_CSMDATA
should be write-protected. This prevents these
files from being accidentally modified or deleted. The directories
in $DIN_LOC_ROOT_CSMDATA
should generally be group writable,
so the directory can be shared among multiple users.
As part of the process of generating the CESM executable, the
utility, check_input_data
is called, and it attempts to locate all required input data for the case
based upon file lists generated by components. If the required data is not found
on local disk in $DIN_LOC_ROOT_CSMDATA
, then the data will be downloaded
automatically by the scripts or it can be downloaded by the user by invoking
check_input_data with the -export command argument. If you want to download
the input data manually you should do it before you build CESM.
It is possible for users to download the data using svn subcommands directly, but use of the check_input_data script is highly recommended to ensure that only the required datasets are downloaded. Again, users are STRONGLY DISCOURAGED from downloading the entire input dataset from the repository due to the size.