What's New in Release 1.3 of the

NCAR CSM Ocean Model

June 1997

September 1997

Highlights of changes to the NCAR CSM ocean model (NCOM) since the release of NCOM 1.2 in August, 1996 include:

For a brief description of changes to NCOM 1.2 files, see the section

Corrections and changes (September 5, 1997)

During the restructuring of NCOM to allow diagnostics timesteps to be multitasked (see below), some multitasking errors in diagnostic quantities were introduced into the code. These errors have been corrected, except that a known bug in the diagnosis of the maximum Courant number will be corrected at a later date.

Other NCOM 1.3 errors which arose when the flux-coupler controlled the creation of NCOM history files have also been corrected.

Return to the top of this document

New Model I/O

NCOM I/O has been redesigned in order to minimize traffic on the NCAR mass-storage system (MSS), to allow for more system-efficient model restarts, and to accomodate new namelist input required by the newly released flux coupler. Also, a new C preprocessor I/O option, "NOMSS," has been added to manage file I/O without the NCAR MSS.

The restart "pointer" file, whose name is set in the variable "rest_pfile", is no longer written to the MSS. Instead, it is written to the user's home directory ($RPTDIR/ocn.$CASE.rpointer in the coupled-model and $HOME/ocn.$case.$cexpnam.rpointer in the stand-alone model) at specified model times (see restart options below). The pointer file has a new format; one important feature is that all restart ("R2", "R3", etc. ) files associated with the model restart time are explicitly listed.

The restart files are still written to the NCAR MSS, or, under the "NOMSS" option, are moved to a specified disk location, but now copies of the most recent restart files are also available in the execution directory, allowing the model to by-pass the MSS at the time of a model restart.

New time-manager options have also been added, allowing the user greater flexibility in the selection of those model times when history and restart files are created and diagnostics are printed.

The write_at_eom and write_at_eoy sub-options can be selected in any combination, or, if all eom or eoy sub-options are desired, then it is sufficient to select write_at_eom or write_at_eoy option only. Any conflict in eoy/eom options or sub-options is resolved in subroutine checks in favor of the end-of-year version.

NOTE : Presently, in order for all history-file quantities to be computed correctly, both the write_at_eoX_history and write_at_eoX_diagnostics options must be true at the same model timestep. Subroutine tmngr has been modified to combine the two options until the NCOM has been reworked to allow these options to be decoupled. (September 5, 1997)

For many applications, the "write_at_eoy" option is desirable, in order to minimize the number of files generated by NCOM. The new write_at_xxx options are set in namelist "contrl".

New options have been added to namelist "fileinf" to control NCAR mass-storage options, and character lengths have been extended for croot and cexpnam:

Because timeseries information is included in the "H4" history file, the H4 file is now created even when the C preprocessor option time_average is selected in conjunction with one of the "write_at_eom" or "write_at_eoy" options.

Return to the top of this document

New Message Passing for Coupled-Model Integrations

A new message-passing protocol has been implemented in each of the CSM component models and the flux coupler. Most recently, all models communicated via the NCAR SCD message-passing software MCL; presently, all models use a locally modified version of MPI.

Several small, and mainly internal, changes were implemented in NCOM concurrently with the modified MPI. For instance, the NCOM 1.2 user will note that the file msg_mcl.F has been replaced with the more generically named msg.F, and a "wrapper" subroutine has further isolated all message-passing references, thus simplifying the task of any future message-passing changes. Subroutines with specific message-passing references in their names have been renamed with more generic names.

Return to the top of this document

Fortran 90 Compatibility

Minor modifications were necessary to several subroutines in order to conform with F90 requirements. More substantial changes were necessary to compensate for Cray F90 optimization features which caused results to vary in the lowest bits when the multitasked model was run on different numbers of processors. In order to eliminate the optimization errors, computations were rearranged in files clinic.F, hrzdiv.F, isopyc.F, tracer.F, fdifm.h, and fdift.h.

Return to the top of this document

Restructured Surface-Flux and Diagnostics Subroutines

The surface flux subroutine, sflx, has been substantially restructured to improve its modularity and to permit the active ocean model to be coupled with climatological versions of the ice and atmosphere models. This allows for a "coupled stand-alone" ocean model which has the same options as the fully stand-alone ocean model, but with atmospheric-model fluxes provided to force the ocean model. Another modification allows for active ocean and ice models to be coupled with a climatological atmospheric model. Presently, these particular climatological component models are under development and are not yet publicly available; thus, the two new C preprocessor options, coupled_ocean_only and coupled_ocean_ice, are not publicly supported by the NCOM developers at this time.

In order to make the stand-alone and "coupled stand-alone" versions consistent, marginal seas are identified in both versions with the region number 7 ; all versions of the ocean model now use the same regionmask. The treatment of marginal seas may change again in the future, after the treatment of river run-off from the CSM land model is finalized in the NCOM.

Users should note that the re-ordering of model computations in the sflx subroutines causes slight numerical differences between the NCOM 1.2 and NCOM 1.3 results.

The diagnostics subroutines diag and diag2 were also rewritten. Subroutine step is no longer required to be single-threaded whenever the present timestep is a diagnostic or time-averaging timestep, which results in improved multitasked model performance.

Return to the top of this document

Minor Corrections and Miscellaneous Changes

In addition to the more substantial changes to NCOM noted above, there have been several smaller changes and corrections made to the code, as well.

Return to the top of this document

New Job Scripts with Makefile

All NCOM 1.2 job scripts are incompatible with NCOM 1.3 because of code and message-passing changes. Users who have customized their NCOM 1.2 job scripts are encouraged to incorporate their changes into the newly released NCOM 1.3 job scripts, instead of vice versa .

The coupled ocean model setup script, ocn.setup.csh, has been altered in several ways. First, the MPI message-passing library is now loaded, replacing MCL libraries. Second, the script now more closely resembles the setup scripts in the other component models, with the most significant change being the use of Makefile to generate the ocean-model binary. Finally, the script create_2x2_ocn_binary.csh has been renamed setdefs.csh, and its functionality has been reduced to setting the C preprocessor options only.

The stand-alone ocean job scripts (stand-alone_2x2.script and stand-alone_3x3.script) have been renamed stand-alone.csh , and each resides in its own resolution-dependent subdirectory (although this may be slightly revised in the near future). The stand-alone scripts have also been restructured to more closely resemble the coupled-model script: stand-alone.csh now calls setdefs_sa.csh (which sets the stand-alone model's C preprocessor options) and also uses a Makefile to create the ocean binary, ocn (formerly ocean).

All references to prec_factor and the file "precipf" have been eliminated in the stand-alone job script; instead, a default value for the precipitation factor is set in block data blkdta, and the user may, if desired, set an override in namelist eddy.

Return to the top of this document

Brief File-by-File Description of NCOM Code Modifications

Return to the top of this document


This page is maintained by Nancy Norton ( njn01@ncar.ucar.edu ) Last modified on September 5, 1997.