diff --git a/doc/UsersGuide/source/BuildingAndRunning.rst b/doc/UsersGuide/source/BuildingAndRunning.rst index b5ade23ab6..03399d7830 100644 --- a/doc/UsersGuide/source/BuildingAndRunning.rst +++ b/doc/UsersGuide/source/BuildingAndRunning.rst @@ -119,44 +119,38 @@ For the ufs-weather-model ATM app (standalone ATM): .. code-block:: console - export CMAKE_FLAGS="-DAPP=ATM" - export CCPP_SUITES="FV3_GFS_v16" + export CMAKE_FLAGS="-DAPP=ATM -DCCPP_SUITES=FV3_GFS_v16" For the ufs-weather-model ATM app (standalone ATM) in 32 bit: .. code-block:: console - export CMAKE_FLAGS="-DAPP=ATM -D32BIT=ON" - export CCPP_SUITES="FV3_GFS_v16" + export CMAKE_FLAGS="-DAPP=ATM -D32BIT=ON -DCCPP_SUITES=FV3_GFS_v16" For the ufs-weather-model ATMW app (standalone ATM with wave): .. code-block:: console - export CMAKE_FLAGS="-DAPP=ATMW" - export CCPP_SUITES="FV3_GFS_v16" + export CMAKE_FLAGS="-DAPP=ATMW -DCCPP_SUITES=FV3_GFS_v16" For the ufs-weather-model S2S app (atm/ice/ocean): .. code-block:: console - export CMAKE_FLAGS="-DAPP=S2S" - export CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst" + export CMAKE_FLAGS="-DAPP=S2S -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst" For the ufs-weather-model S2S app (atm/ice/ocean) with debugging flags turned on, with verbose build messages: .. code-block:: console - export CMAKE_FLAGS="-DAPP=S2S -DDEBUG=ON" - export CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst" + export CMAKE_FLAGS="-DAPP=S2S -DDEBUG=ON -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_2017_satmedmf_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_couplednsst" export BUILD_VERBOSE=1 For the ufs-weather-model S2SW app (atm/ice/ocean/wave): .. code-block:: console - export CMAKE_FLAGS="-DAPP=S2SW" - export CCPP_SUITES="FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp" + export CMAKE_FLAGS="-DAPP=S2SW -DCCPP_SUITES=FV3_GFS_2017_coupled,FV3_GFS_v15p2_coupled,FV3_GFS_v16_coupled,FV3_GFS_v16_coupled_noahmp" ------------------ Building the model diff --git a/doc/UsersGuide/source/CodeOverview.rst b/doc/UsersGuide/source/CodeOverview.rst index 3a4dda312a..e4baa7d051 100644 --- a/doc/UsersGuide/source/CodeOverview.rst +++ b/doc/UsersGuide/source/CodeOverview.rst @@ -20,12 +20,8 @@ The ufs-weather-model repository supports the short- and medium-range UFS applic - Authoritative repository URL * - Umbrella repository for the UFS Weather Model - https://github.com/ufs-community/ufs-weather-model - * - Infrastructure: Flexible Modeling System - - https://github.com/NOAA-GFDL/FMS * - Infrastructure: NOAA Environmental Modeling System - https://github.com/NOAA-EMC/NEMS - * - Infrastructure: Utilities - - https://github.com/NOAA-EMC/NCEPLIBS-pyprodutil * - Framework to connect the CCPP library to a host model - https://github.com/NCAR/ccpp-framework * - CCPP library of physical parameterizations @@ -36,6 +32,18 @@ The ufs-weather-model repository supports the short- and medium-range UFS applic - https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere * - Stochastic physics pattern generator - https://github.com/noaa-psd/stochastic_physics + * - Modular Ocean Model (MOM6) + - https://github.com/NOAA-EMC/MOM6 + * - Los Alamos sea ice model (CICE6) + - https://github.com/NOAA-EMC/CICE + * - NOAA/NCEP WAVEWATCH III Model (WW3) + - https://github.com/NOAA-EMC/WW3 + * - NUOPC Community Mediator for Earth Prediction Systems (CMEPS) + - https://github.com/NOAA-EMC/CMEPS + * - Community Data Models for Earth Prediction Systems (CDEPS) + - https://github.com/NOAA-EMC/CDEPS + +.. TODO:: GOCART information in progress In the table, the left column contains a description of each repository, and the right column shows the component repositories which are pointing to (or will point to) the authoritative repositories. The ufs-weather-model currently uses git submodule to manage the sub-components. @@ -44,32 +52,37 @@ The umbrella repository for the UFS Weather Model is named ufs-weather-model. U .. code-block:: console ufs-weather-model/ - ├── FMS https://github.com/NOAA-GFDL/FMS ├── FV3 https://github.com/NOAA-EMC/fv3atm │ ├── atmos_cubed_sphere https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere │ ├── ccpp │ │ ├── framework https://github.com/NCAR/ccpp-framework │ │ ├── physics https://github.com/NCAR/ccpp-physics ├── NEMS https://github.com/NOAA-EMC/NEMS - │ └── tests/produtil/NCEPLIBS-pyprodutil https://github.com/NOAA-EMC/NCEPLIBS-pyprodutil ├── stochastic_physics https://github.com/noaa-psd/stochastic_physics - + ├── MOM6-interface + │ └── MOM6 https://github.com/NOAA-EMC/MOM6 + ├── CICE-interface + │ └── CICE https://github.com/NOAA-EMC/CICE + ├── WW3 https://github.com/NOAA-EMC/WW3 + ├── CMEPS-interface + │ └── CMEPS https://github.com/NOAA-EMC/CMEPS + ├── CDEPS-interface + │ └── CDEPS https://github.com/NOAA-EMC/CDEPS + =================== Directory Structure =================== When the ufs-weather-model is cloned, the basic directory structure will be similar to the example below. Files and some directories have been removed for brevity. + .. code-block:: console ufs-weather-model/ - ├── cmake --------- cmake configuration files - ├── compsets --------- configurations used by some regression tests - ├── conf --------- compile options for Tier 1 and 2 platforms - ├── doc --------- READMEs with build, reg-test hints - ├── FMS --------- The Flexible Modeling System (FMS),a software framework - ├── FV3 --------- FV3 atmosphere model - │ ├── atmos_cubed_sphere ---- FV3 dynamic core + ├── cmake -------- cmake configuration files + ├── doc -------- User Guide files + ├── FV3 -------- UFSAtm atmosphere model + │ ├── atmos_cubed_sphere ------ FV3 dynamic core │ │ ├── docs │ │ ├── driver │ │ ├── model @@ -81,22 +94,33 @@ When the ufs-weather-model is cloned, the basic directory structure will be simi │ │ ├── physics -------- CCPP compliant physics schemes │ │ └── suites -------- CCPP physics suite definition files (SDFs) │ ├── cpl -------- Coupling field data structures - │ ├── gfsphysics - │ │ ├── CCPP_layer - │ │ ├── GFS_layer - │ │ └── physics --------- unused - IPD version of physics codes - │ ├── io --------- FV3 write grid comp code - │ ├── ipd --------- unused - IPD driver/interfaces - | ├── stochastic_physics ----- Cmakefile for stochastic physics code - ├── log --------- log files from NEMS compset regression tests - ├── modulefiles --------- system module files for supported HPC systems - ├── NEMS --------- NOAA Earth Modeling System framework - │ ├── exe - │ ├── src - │ └── test - ├── parm --------- regression test configurations + │ ├── io -------- UFSAtm write grid comp code + │ └── stochastic_physics ------ Wrapper for stochastic physics + │ + ├── NEMS -------- NOAA Earth Modeling System framework ├── stochastic_physics -------- stochastic physics pattern generator - ├── tests --------- regression test scripts + ├── MOM6-interface + │ └── MOM6 + │ ├── src --------- MOM6 ocean model + │ └── config_source/drivers/nuopc_cap --------- NUOPC MOM6 cap + ├── CICE-interface + │ └── CICE --------- CICE6 sea ice model + │ ├── icepack --------- Sea ice column physics + │ └── cicecore/drivers/nuopc/cmeps --------- NUOPC CICE6 cap + ├── WW3 + │ └── model --------- WW3 model + │ └── esmf --------- NUOPC WW3 cap + ├── CDEPS-interface + │ └── CDEPS + │ └── datm --------- CDEPS DATM + │ + ├── modulefiles -------- system module files for supported HPC systems + ├── tests -------- regression test infrastructure + │ └── parm + │ └── tests + │ └── fv3_conf + +.. TODO:: GOCART information in progress The physics subdirectory in the *gfsphysics* directory is not used or supported as part of this release (all physics is available through the :term:`CCPP` using diff --git a/doc/UsersGuide/source/InputNML.inc b/doc/UsersGuide/source/InputNML.inc index 3c5d94f334..ca30d6cfc0 100644 --- a/doc/UsersGuide/source/InputNML.inc +++ b/doc/UsersGuide/source/InputNML.inc @@ -5,7 +5,7 @@ .. _InputNML: --------------------------- -Namelist file ``input.nml`` +Namelist file *input.nml* --------------------------- The atmosphere model reads many parameters from a Fortran namelist file, named *input.nml*. This file contains @@ -31,6 +31,7 @@ https://noaa-emc.github.io/FV3_Dycore_ufs-v1.1.0/html/index.html The namelist section ``&interpolator_nml`` is not used in this release, and any modifications to it will have no effect on the model results. +---------- fms_io_nml ---------- @@ -57,7 +58,7 @@ The namelist variables used in ``&fms_io_nml`` are described in :numref:`Table % - logical - .true. * - fms_netcdf_restart - - If true, all modules using restart files will operate under netCDF mode. If false, all modules using restart files will operate under binary mode. This flag is effective only when ``fms_netcdf_override`` is .true. When ``fms_netcdf_override`` is .false., individual module setting takes over. + - If true, all modules using restart files will operate under netCDF mode. If false, all modules using restart files will operate under binary mode. This flag is effective only when ``fms_netcdf_override`` is .true. When ``fms_netcdf_override`` is .false., individual module setting takes over. - logical - .true. * - threading_read @@ -85,7 +86,7 @@ The namelist variables used in ``&fms_io_nml`` are described in :numref:`Table % - integer - 40 * - time_stamp_restart - - If true, ``time_stamp`` will be added to the restart file name as a prefix. + - If true, ``time_stamp`` will be added to the restart file name as a prefix. - logical - .true. * - print_chksum @@ -115,6 +116,7 @@ This release of the UFS Weather Model sets the following variables in the ``&fms max_files_w = 100 / +------ namsfc ------ @@ -126,7 +128,7 @@ The variables used in ``&namsfc`` to set the filenames are described in :numref: .. list-table:: *List of common variables in the *namsfc* namelist section used to set the filenames of static datasets.* - :widths: 15 40 15 20 + :widths: 15 40 15 20 :header-rows: 1 * - Variable Name @@ -234,6 +236,7 @@ A sample subset of this namelist is shown below: Additional variables for the ``&namsfc`` namelist can be found in the ``FV3/ccpp/physics/physics/sfcsub.F`` file. +--------------- atmos_model_nml --------------- @@ -242,7 +245,7 @@ The variables used in ``&atmos_model_nml`` are described in :numref:`Table %s 0``. - - real - - 3.0 - * - fhouthf - - The high frequency output frequency during the forecast time from 0 to ``fhmaxhf`` hour. - - real - - 1.0 * - ccpp_suite - Name of the CCPP physics suite - character(len=256) - FV3_GFS_v15p2, set in ``build.sh`` * - avg_max_length - Forecast interval (in seconds) determining when the maximum values of diagnostic fields in FV3 - dynamics are computed. + dynamics are computed. - real - 3600. @@ -314,11 +295,6 @@ A sample of this namelist is shown below: blocksize = 32 chksum_debug = .false. dycore_only = .false. - fdiag = 1 - fhmax = 384 - fhout = 3 - fhmaxhf = 120 - fhouthf = 1 ccpp_suite = 'FV3_GFS_v16beta' / diff --git a/doc/UsersGuide/source/InputsOutputs.rst b/doc/UsersGuide/source/InputsOutputs.rst index 5ff256fb7b..fa0bf228ab 100644 --- a/doc/UsersGuide/source/InputsOutputs.rst +++ b/doc/UsersGuide/source/InputsOutputs.rst @@ -4,6 +4,29 @@ Inputs and Outputs ************************* +The ufs-weather-model can be configured as one of several applications, from a single component atmosphere model to a fully coupled model with multiple earth system components (atmosphere, ocean, sea-ice and mediator). Currently the supported configurations are: + +.. _UFS-applications: + +.. list-table:: *Supported ufs-weather-model applications* + :widths: 10 70 + :header-rows: 1 + + * - App name + - Description + * - ATM + - Standalone UFSAtm + * - ATMW + - UFSAtm coupled to WW3 + * - ATMAERO + - UFSAtm coupled to GOCART + * - S2S + - Coupled UFSATM-MOM6-CICE6-CMEPS + * - S2SW + - Coupled UFSATM-MOM6-CICE6-WW3-CMEPS + * - NG-GODAS + - Coupled CDEPS-DATM-MOM6-CICE6-CMEPS + This chapter describes the input and output files needed for executing the model in the various supported configurations. ============= @@ -13,9 +36,12 @@ Input files There are three types of files needed to execute a run: static datasets (*fix* files containing climatological information), files that depend on grid resolution, initial and boundary conditions, and model configuration files (such as namelists). ------------------------------------- +------- +UFSAtm +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Static datasets (i.e., *fix files*) ------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The static input files for global configurations are listed and described in :numref:`Table %s `. Similar files are used for a regional grid but are grid specific and generated by pre-processing utilities. .. _FixFiles: @@ -76,9 +102,9 @@ The static input files for global configurations are listed and described in :nu * - solarconstant_noaa_an.txt - External solar constant data table ---------------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Grid description and initial condition files ---------------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The input files containing grid information and the initial conditions for global configurations are listed and described in :numref:`Table %s `. The input files for a limited area model (LAM) configuration including grid information and initial and lateral boundary conditions are listed and described in :numref:`Table %s `. Note that the regional grid is referred to as Tile 7 here, and are generated by several pre-processing utilities. .. _GridICFiles: @@ -141,9 +167,355 @@ The input files containing grid information and the initial conditions for globa - Surface properties for grid tile 7 - ✔ ------------------------------------- +------- +MOM6 +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Static datasets (i.e., *fix files*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The static input files for global configurations are listed and described in :numref:`Table %s `. + +.. _MOM6_FixFiles: + +.. list-table:: *Fix files containing climatological information* + :widths: 40 50 15 + :header-rows: 1 + + * - Filename + - Description + - Used in resolution + * - runoff.daitren.clim.1440x1080.v20180328.nc + - climatological runoff + - 0.25 + * - runoff.daitren.clim.720x576.v20180328.nc + - climatological runoff + - 0.50 + * - seawifs-clim-1997-2010.1440x1080.v20180328.nc + - climatological chlorophyll concentration in sea water + - 0.25 + * - seawifs-clim-1997-2010.720x576.v20180328.nc + - climatological chlorophyll concentration in sea water + - 0.50 + * - seawifs_1998-2006_smoothed_2X.nc + - climatological chlorophyll concentration in sea water + - 1.00 + * - tidal_amplitude.v20140616.nc + - climatological tide amplitude + - 0.25 + * - tidal_amplitude.nc + - climatological tide amplitude + - 0.50, 1.00 + * - geothermal_davies2013_v1.nc + - climatological geothermal heat flow + - 0.50, 0.25 + * - KH_background_2d.nc + - climatological 2-d background harmonic viscosities + - 1.00 + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Grid description and initial condition files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The input files containing grid information and the initial conditions for global configurations are listed and described in :numref:`Table %s `. + +.. _MOM6_GridICFiles: + +.. list-table:: *Input files containing grid information and initial conditions for global configurations* + :widths: 10 35 10 5 + :header-rows: 1 + + * - Filename + - Description + - Valid RES options + - Date-dependent + * - ocean_hgrid.nc + - horizonal grid information + - 1.00, 0.50, 0.25 + - + * - ocean_mosaic.nc + - specify horizonal starting and ending points index + - 1.00, 0.50, 0.25 + - + * - ocean_topog.nc + - ocean topography + - 1.00, 0.50, 0.25 + - + * - ocean_mask.nc + - lans/sea mask + - 1.00, 0.50, 0.25 + - + * - hycom1_75_800m.nc + - vertical coordinate level thickness + - 1.00, 0.50, 0.25 + - + * - layer_coord.nc + - vertical layer target potential density + - 1.00, 0.50, 0.25 + - + * - All_edits.nc + - specify grid points where topography are manually modified to adjust throughflow strength for narrow channels + - 0.25 + - + * - topo_edits_011818.nc + - specify grid points where topography are manually modified to adjust throughflow strength for narrow channels + - 1.00 + - + * - MOM_channels_global_025 + - specifies restricted channel widths + - 0.50, 0.25 + - + * - MOM_channel_SPEAR + - specifies restricted channel widths + - 1.00 + - + * - interpolate_zgrid_40L.nc + - specify target depth for output + - 1.00, 0.50, 0.25 + - + * - MOM.res*nc + - ocean initial conditions (from CPC ocean DA) + - 0.25 + - ✔ + * - MOM6_IC_TS.nc + - ocean temperature and salinity initial conditions (from CFSR) + - 1.00, 0.50, 0.25 + - ✔ + +------- +CICE6 +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Static datasets (i.e., *fix files*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +No fix files are required for CICE6 + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Grid description and initial condition files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The input files containing grid information and the initial conditions for global configurations are listed and described in :numref:`Table %s `. + +.. _CICE6_GridICFiles: + +.. list-table:: *Input files containing grid information and initial conditions for global configurations* + :widths: 35 35 25 15 + :header-rows: 1 + + * - Filename + - Description + - Valid RES options + - Date-dependent + * - cice_model_RES.res_YYYYMMDDHH.nc + - cice model IC or restart file + - 1.00, 0.50, 0.25 + - ✔ + * - grid_cice_NEMS_mxRES.nc + - cice model grid at resolution RES + - 100, 050, 025 + - + * - kmtu_cice_NEMS_mxRES.nc + - cice model land mask at resolution RES + - 100, 050, 025 + - + +------- +WW3 +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Static datasets (i.e., *fix files*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +No fix files are required for WW3 + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Grid description and initial condition files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The files for global configurations are listed and described in :numref:`Table %s ` for GFSv16 setup and :numref:`Table %s ` for single grid configurations. +The model definitions for wave grid(s) including spectral and directional resolutions, time steps, numerical scheme and parallelization algorithm, the physics parameters, boundary conditions and grid definitions are stored in binary mod_def files. The aforementioned parameters are defined in ww3_grid.inp. and the ww3_grid executables generates the binary mod_def. files. + +The WW3 version number in mod_def. files should be consistent with version of the code in ufs-weather-model. createmoddefs/creategridfiles.sh can be used in order to generate the mod_def. files, using ww3_grid.inp., using the WW3 version in ups-weather-model. In order to do it, the path to the location of the ufs-weather-model (UFSMODELDIR), the path to generated mod_def. outputs (OUTDIR), the path to input ww3_grid.inp. files (SRCDIR) and the path to the working directory for log files (WORKDIR) should be defined. + +.. _WW3_FixFiles: + +.. list-table:: *Input files containing grid information and conservative remapping for global configurations (GFSv16 Wave)* + :widths: 35 35 25 + :header-rows: 1 + + * - Filename + - Description + - Resolution + * - mod_def.aoc_9km + - Antarctic Ocean PolarStereo [50N 90N] + - 9km + * - mod_def.gnh_10m + - Global mid core [15S 52N] + - 10 min + * - mod_def.gsh_15m + - southern ocean [79.5S 10.5S] + - 15 min + * - mod_def.glo_15mxt + - Global 1/4 extended grid [90S 90S] + - 15 min + * - mod_def.points + - GFSv16-wave spectral grid point output + - na + * - mod_def.points + - GFSv16-wave spectral grid point output + - na + * - rmp_src_to_dst_conserv_002_001.nc + - Conservative remapping gsh_15m to gnh_10m + - na + * - rmp_src_to_dst_conserv_003_001.nc + - Conservative remapping aoc_9km to gnh_10m + - na + + +.. _WW3_FixFilesp: + +.. list-table:: *Input grid information for single global configurations* + :widths: 35 35 30 + :header-rows: 1 + + * - Filename + - Description + - Resolution + * - mod_def.ant_9km + - polar streo antarctic grid [90S 50S] + - 9km + * - mod_def.glo_10m + - Global grid [80S 80N] + - 10 min + * - mod_def.glo_30m + - Global grid [80S 80N] + - 30 min + * - mod_def.glo_1deg + - Global grid [85S 85N] + - 1 degree + * - mod_def.glo_2deg + - Global grid [85S 85N] + - 2 degree + * - mod_def.glo_gwes_30m + - Global NAWES 30 min wave grid [80S 80N] + - 30 min + +The model driver input (ww3_multi.inp) includes the input, model and output grids definition, the starting and ending times for the entire model run and output types and intervals. The ww3_multi.inp.IN template is located under tests/parm/ directory. The inputs are described hereinafter: + +.. _WW3_Driver: + +.. list-table:: *Model driver input* + :widths: 30 70 + :header-rows: 1 + + * - NMGRIDS + - Number of wave model grids + * - NFGRIDS + - Number of grids defining input fields + * - FUNIPNT + - Flag for using unified point output file. + * - IOSRV + - Output server type + * - FPNTPROC + - Flag for dedicated process for unified point output + * - FGRDPROC + - Flag for grids sharing dedicated output processes + +If there are input data grids defined ( NFGRIDS > 0 ) then these grids are defined first (CPLILINE, WINDLINE, ICELINE, CURRLINE). These grids are defined as if they are wave model grids using the file mod_def.. Each grid is defined on a separate input line with , with eight input flags identifying +$ the presence of 1) water levels 2) currents 3) winds 4) ice +$ 5) momentum 6) air density and 7-9) assimilation data. + +The GRIDLINE defines actual wave model grids using 13 parameters to be +read from a single line in the file for each. It includes (1) its own input grid mod_def., (2-10) forcing grid ids, (3) rank number, (12) group number and (13-14) fraction of communicator (processes) used for this grid. + +RUN_BEG and RUN_END define the starting and end times, FLAGMASKCOMP and FLAGMASKOUT are flags for masking at printout time (default F F), followed by the gridded and point outputs start time (OUT_BEG), interval (DTFLD and DTPNT) and end time (OUT_END). The restart outputs start time, interval and end time are define by RST_BEG, DTRST, RST_END respectively. + +No initial condition files are required for WW3. + +------- +CDEPS +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Static datasets (i.e., *fix files*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +No fix files are required for CDEPS + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Grid description and initial condition files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +The input files containing grid information and the time-varying forcing files for global configurations are listed and described in :numref:`Table %s `. + +.. _CDEPS_Files: + +.. list-table:: *Input files containing grid information and forcing files for global configurations* + :widths: 35 50 15 + :header-rows: 1 + + * - Filename + - Description + - Date-dependent + * - cfsr_mesh.nc + - ESMF mesh file for CFSR data source + - + * - gefs_mesh.nc + - ESMF mesh file for GEFS data source + - + * - cfsr.YYYYMMM.nc + - CFSR forcing file for year YYYY and month MM + - ✔ + * - gefs.YYYYMMM.nc + - GEFS forcing file for year YYYY and month MM + - ✔ + +------- +GOCART +------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Static datasets (i.e., *fix files*) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. TODO:: GOCART information in progress + +The static input files for global configurations are listed and described in :numref:`Table %s `. + +.. _GOCART_FixFiles: + +.. list-table:: *Fix files containing climatological information* + :widths: 40 50 + :header-rows: 1 + + * - Filename + - Description + * - + - + +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Grid description and initial condition files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. TODO:: GOCART information in progress + +The input files containing grid information and the initial conditions for global configurations are listed and described in :numref:`Table %s `. + +.. _GOCART_GridICFiles: + +.. list-table:: *Input files containing grid information and initial conditions for global configurations* + :widths: 35 50 15 + :header-rows: 1 + + * - Filename + - Description + - Date-dependent + * - + - + - + +========================== Model configuration files ------------------------------------- +========================== + The configuration files used by the UFS Weather Model are listed here and described below: - *diag_table* @@ -151,14 +523,17 @@ The configuration files used by the UFS Weather Model are listed here and descri - *model_configure* - *nems.configure* - *suite_[suite_name].xml* (used only at build time) +- *datm.streams* (used by cdeps) +- *datm_in* (used by cdeps) While the *input.nml* file is also a configuration file used by the UFS Weather Model, it is described in :numref:`Section %s `. The run-time configuration of model output fields is controlled by the combination of *diag_table* and *model_configure*, and is described in detail in :numref:`Section %s `. .. _diag_tableFile: +------------------- *diag_table* file ------------------------------------- +------------------- There are three sections in file *diag_table*: Header (Global), File, and Field. These are described below. **Header Description** @@ -302,7 +677,9 @@ These field section entries are described in :numref:`Table %s ` @@ -468,10 +847,6 @@ shows the following parameters that can be set in *model_configure* at run-time. - flag for ESMF PET files - logical - .true. - * - PE_MEMBER01 - - total number of tasks for ensemble number 1 - - integer - - 150 (for c96 with quilt) * - start_year - start year of model integration - integer @@ -508,18 +883,14 @@ shows the following parameters that can be set in *model_configure* at run-time. - output first time step history file after restart - logical - .false. - * - memuse_verbose - - flag for printing out memory usage - - logical - - .false. - * - atmos_nthreads - - number of threads for atmosphere - - integer - - 4 * - restart_interval - - frequency to output restart file + - frequency to output restart file or forecast hours to write out restart file - integer - - 0 (write restart file at the end of integration) + - 0 (0: write restart file at the end of integration; 12, -1: write out restart every 12 hours; 12 24 write out restart files at fh=12 and 24) + * - atm_coupling_interval_sec + - fast coupling interval in seconds for atmosphere + - real(8) + - 900 * - quilting - flag to turn on quilt - logical @@ -551,7 +922,7 @@ shows the following parameters that can be set in *model_configure* at run-time. * - output_file - output file format - character(255) - - nemsio + - netcdf * - imo - i-dimension for output grid - integer @@ -576,6 +947,10 @@ shows the following parameters that can be set in *model_configure* at run-time. - output frequency of number of time step - integer - -1 (negative: turn off the option, 1: output history file at every time step) + * - output_fh + - history file output forecast hours or history file output frequency if the second elelment is -1 + - real + - -1 (negative: turn off the option, otherwise overwritten nfhout/nfhout_fh; 6 -1: output every 6 hoursr; 6 9: output history files at fh=6 and 9) :numref:`Table %s ` shows the following parameters in *model_configure* that are not usually changed. @@ -590,18 +965,6 @@ are not usually changed. - Meaning - Type - Default Value - * - total_member - - total number of ensemble member - - integer - - 1 - * - RUN_CONTINUE - - Flag for more than one NEMS run - - logical - - .false. - * - ENS_SPS - - flag for the ensemble stochastic coupling flag - - logical - - .false. * - calendar - type of calendar year - character(*) @@ -610,14 +973,10 @@ are not usually changed. - forecast hour at restart for nems/earth grid component clock in coupled model - integer - 0 - * - cpl - - flag for coupling with MOM6/CICE5 - - logical - - .false. * - write_dopost - flag to do post on write grid component - logical - - .false. + - .true. * - ideflate - lossless compression level - integer @@ -626,23 +985,19 @@ are not usually changed. - lossy compression level - integer - 14 (0: lossless, range 1-32) - * - write_nemsioflip - - flag to flip the vertical level for nemsio file - - logical - - .true. - * - write_fsyncflag - - flag to check if a file is synced to disk - - logical - - .true. * - iau_offset - IAU offset lengdth - integer - 0 +----------------------- *nems.configure* file ------------------------------------- -This file contains information about the various NEMS components and their run sequence. In the current release, -this is an atmosphere-only model, so this file is simple and does not need to be changed. A sample of the file contents is below: +----------------------- + +This file contains information about the various NEMS components and their run sequence. The active components for a particular model configuration are given in the *EARTH_component_list*. For each active component, the model name and compute tasks assigned to the component are given. A specific component might also require additional configuration information to be present. The *runSeq* describes the order and time intervals over which one or more component models integrate in time. Additional *attributes*, if present, provide additional configuration of the model components when coupled with the CMEPS mediator. + +For the ATM application, since it consists of a single component, the *nems.configure* is simple and does not need to be changed. +A sample of the file contents is shown below: .. code-block:: console @@ -652,6 +1007,233 @@ this is an atmosphere-only model, so this file is simple and does not need to be ATM :: + +For the fully coupled S2SW application, a sample *nems.configure* is shown below : + +.. code-block:: console + + # EARTH # + EARTH_component_list: MED ATM OCN ICE WAV + EARTH_attributes:: + Verbosity = 0 + :: + + # MED # + MED_model: cmeps + MED_petlist_bounds: 0 143 + :: + + # ATM # + ATM_model: fv3 + ATM_petlist_bounds: 0 149 + ATM_attributes:: + :: + + # OCN # + OCN_model: mom6 + OCN_petlist_bounds: 150 179 + OCN_attributes:: + mesh_ocn = mesh.mx100.nc + :: + + # ICE # + ICE_model: cice6 + ICE_petlist_bounds: 180 191 + ICE_attributes:: + mesh_ice = mesh.mx100.nc + :: + + # WAV # + WAV_model: ww3 + WAV_petlist_bounds: 192 395 + WAV_attributes:: + :: + + # CMEPS warm run sequence + runSeq:: + @3600 + MED med_phases_prep_ocn_avg + MED -> OCN :remapMethod=redist + OCN -> WAV + WAV -> OCN :srcMaskValues=1 + OCN + @900 + MED med_phases_prep_atm + MED med_phases_prep_ice + MED -> ATM :remapMethod=redist + MED -> ICE :remapMethod=redist + WAV -> ATM :srcMaskValues=1 + ATM -> WAV + ICE -> WAV + ATM + ICE + WAV + ATM -> MED :remapMethod=redist + MED med_phases_post_atm + ICE -> MED :remapMethod=redist + MED med_phases_post_ice + MED med_phases_prep_ocn_accum + @ + OCN -> MED :remapMethod=redist + MED med_phases_post_ocn + MED med_phases_restart_write + @ + :: + + # CMEPS variables + + :: + MED_attributes:: + ATM_model = fv3 + ICE_model = cice6 + OCN_model = mom6 + history_n = 1 + history_option = nhours + history_ymd = -999 + coupling_mode = nems_orig + :: + ALLCOMP_attributes:: + ScalarFieldCount = 2 + ScalarFieldIdxGridNX = 1 + ScalarFieldIdxGridNY = 2 + ScalarFieldName = cpl_scalars + start_type = startup + restart_dir = RESTART/ + case_name = ufs.cpld + restart_n = 24 + restart_option = nhours + restart_ymd = -999 + dbug_flag = 0 + use_coldstart = false + use_mommesh = true + :: + + +For the coupled NG_GODAS application, a sample *nems.configure* is shown below : + +.. code-block:: console + + # EARTH # + EARTH_component_list: MED ATM OCN ICE + EARTH_attributes:: + Verbosity = 0 + :: + + # MED # + MED_model: cmeps + MED_petlist_bounds: 0 11 + Verbosity = 5 + dbug_flag = 5 + + :: + + # ATM # + ATM_model: datm + ATM_petlist_bounds: 0 11 + ATM_attributes:: + Verbosity = 0 + DumpFields = false + mesh_atm = DATM_INPUT/cfsr_mesh.nc + diro = "." + logfile = atm.log + :: + + # OCN # + OCN_model: mom6 + OCN_petlist_bounds: 12 27 + OCN_attributes:: + Verbosity = 0 + DumpFields = false + ProfileMemory = false + OverwriteSlice = true + mesh_ocn = mesh.mx100.nc + :: + + # ICE # + ICE_model: cice6 + ICE_petlist_bounds: 28 39 + ICE_attributes:: + Verbosity = 0 + DumpFields = false + ProfileMemory = false + OverwriteSlice = true + mesh_ice = mesh.mx100.nc + stop_n = 12 + stop_option = nhours + stop_ymd = -999 + :: + + # CMEPS concurrent warm run sequence + + runSeq:: + @3600 + MED med_phases_prep_ocn_avg + MED -> OCN :remapMethod=redist + OCN + @900 + MED med_phases_prep_ice + MED -> ICE :remapMethod=redist + ATM + ICE + ATM -> MED :remapMethod=redist + MED med_phases_post_atm + ICE -> MED :remapMethod=redist + MED med_phases_post_ice + MED med_phases_aofluxes_run + MED med_phases_prep_ocn_accum + @ + OCN -> MED :remapMethod=redist + MED med_phases_post_ocn + MED med_phases_restart_write + @ + :: + + # CMEPS variables + + DRIVER_attributes:: + mediator_read_restart = false + :: + MED_attributes:: + ATM_model = datm + ICE_model = cice6 + OCN_model = mom6 + history_n = 1 + history_option = nhours + history_ymd = -999 + coupling_mode = nems_orig_data + :: + ALLCOMP_attributes:: + ScalarFieldCount = 3 + ScalarFieldIdxGridNX = 1 + ScalarFieldIdxGridNY = 2 + ScalarFieldIdxNextSwCday = 3 + ScalarFieldName = cpl_scalars + start_type = startup + restart_dir = RESTART/ + case_name = DATM_CFSR + restart_n = 12 + restart_option = nhours + restart_ymd = -999 + dbug_flag = 0 + use_coldstart = false + use_mommesh = true + coldair_outbreak_mod = .false. + flds_wiso = .false. + flux_convergence = 0.0 + flux_max_iteration = 2 + ocn_surface_flux_scheme = 0 + orb_eccen = 1.e36 + orb_iyear = 2000 + orb_iyear_align = 2000 + orb_mode = fixed_year + orb_mvelp = 1.e36 + orb_obliq = 1.e36 + :: + + +.. TODO:: GOCART information in progress + +--------------------------------------- *The SDF (Suite Definition File) file* --------------------------------------- There are two SDFs currently supported for the UFS Medium Range Weather App configuration: *suite_FV3_GFS_v15p2.xml* and *suite_FV3_GFS_v16beta.xml*. @@ -660,6 +1242,120 @@ There are two SDFs currently supported for the UFS Short Range Weather App confi Detailed descriptions of the supported suites can be found with the `CCPP v5.0.0 Scientific Documentation `_. +--------------------------------------- +*datm.streams* +--------------------------------------- +A data stream is a time series of input forcing files. A data stream configuration file (datm.streams) describes the information about those input forcing files. + +.. list-table:: *Parameters that can be set in a data stream configuration file at run-time.* + :widths: 20 30 + :header-rows: 1 + + * - Parameter + - Meaning + * - taxmode01 + - time axis mode + * - mapalgo01 + - type of spatial mapping (default=bilinear) + * - tInterpAlgo01 + - time interpolation algorithm option + * - readMode01 + - number of forcing files to read in (current option is single) + * - dtimit01 + - ratio of max/min stream delta times (default=1.0. For monthly data, the ratio is 31/28.) + * - stream_offset01 + - shift of the time axis of a data stream in seconds (Positive offset advances the time axis forward.) + * - yearFirst01 + - the first year of the stream data + * - yearLast01 + - the last year of the stream data + * - yearAlign01 + - the simulation year corresponding to yearFirst01 + * - stream_vectors01 + - the paired vector field names + * - stream_mesh_file01 + - stream mesh file name + * - stream_lev_dimname01 + - name of vertical dimension in data stream + * - stream_data_files01 + - input forcing file names + * - stream_data_variables01 + - a paired list with the name of the variable used in the file on the left and the name of the Fortran variable on the right + +A sample of the data stream file is shown below: + +.. code-block:: console + + stream_info: cfsr.01 + taxmode01: cycle + mapalgo01: bilinear + tInterpAlgo01: linear + readMode01: single + dtlimit01: 1.0 + stream_offset01: 0 + yearFirst01: 2011 + yearLast01: 2011 + yearAlign01: 2011 + stream_vectors01: "u:v" + stream_mesh_file01: DATM_INPUT/cfsr_mesh.nc + stream_lev_dimname01: null + stream_data_files01: DATM_INPUT/cfsr.201110.nc + stream_data_variables01: "slmsksfc Sa_mask" "DSWRF Faxa_swdn" "DLWRF Faxa_lwdn" "vbdsf_ave Faxa_swvdr" "vddsf_ave Faxa_swvdf" "nbdsf_ave Faxa_swndr" "nddsf_ave Faxa_swndf" "u10m Sa_u10m" "v10m Sa_v10m" "hgt_hyblev1 Sa_z" "psurf Sa_pslv" "tmp_hyblev1 Sa_tbot" "spfh_hyblev1 Sa_shum" "ugrd_hyblev1 Sa_u" "vgrd_hyblev1 Sa_v" "q2m Sa_q2m" "t2m Sa_t2m" "pres_hyblev1 Sa_pbot" "precp Faxa_rain" "fprecp Faxa_snow" + + +--------------------------------------- +*datm_in* +--------------------------------------- + +.. list-table:: *Parameters that can be set in a data stream namelist file (datm_in) at run-time.* + :widths: 20 30 + :header-rows: 1 + + * - Parameter + - Meaning + * - datamode + - data mode (such as CFSR, GEFS, etc.) + * - factorfn_data + - file containing correction factor for input data + * - factorfn_mesh + - file containing correction factor for input mesh + * - flds_co2 + - if true, prescribed co2 data is sent to the mediator + * - flds_presaero + - if true, prescribed aerosol data is sent to the mediator + * - flds_wiso + - if true, water isotopes data is sent to the mediator + * - iradsw + - the frequency to update the shortwave radiation in number of steps (or hours if negative) + * - model_maskfile + - data stream mask file name + * - model_meshfile + - data stream mesh file name + * - nx_global + - number of grid points in zonal direction + * - ny_global + - number of grid points in meridional direction + * - restfilm + - model restart file namelist + +A sample of the data stream namelist file is shown below: + +.. code-block:: console + + &datm_nml + datamode = "CFSR" + factorfn_data = "null" + factorfn_mesh = "null" + flds_co2 = .false. + flds_presaero = .false. + flds_wiso = .false. + iradsw = 1 + model_maskfile = "DATM_INPUT/cfsr_mesh.nc" + model_meshfile = "DATM_INPUT/cfsr_mesh.nc" + nx_global = 1760 + ny_global = 880 + restfilm = "null" + / .. ------------------------------------------------------------------- .. Include InputNML file describing the contents of the input.nml file @@ -673,7 +1369,11 @@ Detailed descriptions of the supported suites can be found with the `CCPP v5.0.0 Output files ============= -The output files generated when running *fv3.exe* are defined in the *diag_tabl* file. For the default global configuration, the following files are output (six files of each kind, corresponding to the six tiles of the model grid): +------- +FV3Atm +------- + +The output files generated when running *fv3.exe* are defined in the *diag_table* file. For the default global configuration, the following files are output (six files of each kind, corresponding to the six tiles of the model grid): - *atmos_4xdaily.tile[1-6].nc* - *atmos_static.tile[1-6].nc* @@ -685,22 +1385,110 @@ Note that the sfcf* and atmf* files are not output on the 6 tiles, but instead a The regional configuration will generate similar output files, but the *tile[1-6]* is not included in the filename. -Two files (*model_configure* and *diag_table*) control the output that is generated by the UFS Weather Model. The output files that contain the model variables are written to a file as shown in the figure below. The format of these output files is selected in *model_configure* as NetCDF or nemsio. The information in these files may be remapped, augmented with derived variables, and converted to GRIB2 by the Unified Post Processor (UPP). Model variables are listed in the *diag_table* in two groupings, *fv3_history* and *fv3_history2d*, as described in :numref:`Section %s `. The names of the files that contain these model variables are specified in the *model_configure* file. When *quilting* is set to *.true.* for the write component, the variables listed in the groups *fv3_history* and *fv3_history2d* are converted into the two output files named in the *model_configure* file, e.g. *atmfHHH.* and *sfcfHHH.*. The bases of the file names (*atm* and *sfc*) are specified in the *model_configure* file, and *HHH* refers to the forecast hour. +Two files (*model_configure* and *diag_table*) control the output that is generated by the UFS Weather Model. The output files that contain the model variables are written to a file as shown in the figure below. The format of these output files is selected in *model_configure* as NetCDF. The information in these files may be remapped, augmented with derived variables, and converted to GRIB2 by the Unified Post Processor (UPP). Model variables are listed in the *diag_table* in two groupings, *fv3_history* and *fv3_history2d*, as described in :numref:`Section %s `. The names of the files that contain these model variables are specified in the *model_configure* file. When *quilting* is set to *.true.* for the write component, the variables listed in the groups *fv3_history* and *fv3_history2d* are converted into the two output files named in the *model_configure* file, e.g. *atmfHHH.* and *sfcfHHH.*. The bases of the file names (*atm* and *sfc*) are specified in the *model_configure* file, and *HHH* refers to the forecast hour. + +.. figure:: _static/fv3IO.png -.. image:: _static/fv3IO.png + Relationship between *diag_table*, *model_configure* and generated output files Standard output files are *logfHHH* (one per forecast hour), and out and err as specified by the job submission. ESMF may also produce log files (controlled by variable print_esmf in the *model_configure* file), called *PETnnn.ESMF_LogFile* (one per MPI task). Additional output files include: nemsusage.xml, a timing log file; time_stamp.out, contains the model init time; *RESTART/*nc*, files needed for restart runs. +------- +MOM6 +------- + +MOM6 output is controlled via the FMS diag_manager using the *diag_table*. When MOM6 is present, the *diag_table* shown :ref:`above ` includes additional requested MOM6 fields. + +A brief example of the diag_table is shown below. ``“...”`` denotes where lines have been removed. + +.. code-block:: console + + ###################### + "ocn%4yr%2mo%2dy%2hr", 6, "hours", 1, "hours", "time", 6, "hours", "1901 1 1 0 0 0" + "SST%4yr%2mo%2dy", 1, "days", 1, "days", "time", 1, "days", "1901 1 1 0 0 0" + ############################################## + # static fields + "ocean_model", "geolon", "geolon", "ocn%4yr%2mo%2dy%2hr", "all", .false., "none", 2 + "ocean_model", "geolat", "geolat", "ocn%4yr%2mo%2dy%2hr", "all", .false., "none", 2 + ... + # ocean output TSUV and others + "ocean_model", "SSH", "SSH", "ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model", "SST", "SST", "ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model", "SSS", "SSS", "ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + ... + # save daily SST + "ocean_model", "geolon", "geolon", "SST%4yr%2mo%2dy", "all", .false., "none", 2 + "ocean_model", "geolat", "geolat", "SST%4yr%2mo%2dy", "all", .false., "none", 2 + "ocean_model", "SST", "sst", "SST%4yr%2mo%2dy", "all", .true., "none", 2 + + # Z-Space Fields Provided for CMIP6 (CMOR Names): + #=============================================== + "ocean_model_z","uo","uo" ,"ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model_z","vo","vo" ,"ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model_z","so","so" ,"ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model_z","temp","temp" ,"ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + + # forcing + "ocean_model", "taux", "taux", "ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + "ocean_model", "tauy", "tauy", "ocn%4yr%2mo%2dy%2hr","all",.true.,"none",2 + ... + +------- +CICE6 +------- + +CICE6 output is controlled via the namelist *ice_in*. The relevant configuration settings are + +.. code-block:: console + + ... + histfreq = 'm','d','h','x','x' + histfreq_n = 0 , 0 , 6 , 1 , 1 + hist_avg = .true. + ... + +In this example, *histfreq_n* and *hist_avg* specify that output will be 6-hour means. No monthly (*m*), +daily (*d*), yearly (*x*) or per-timestep (*x*) output will be produced.The *hist_avg* can +also be set *.false.* to produce, for example, instaneous fields every 6 hours. + +The output of any field is set in the appropriate *ice_in* namelist. For example, + +.. code-block:: console + + ... + &icefields_nml + f_aice = 'mdhxx' + f_hi = 'mdhxx' + f_hs = 'mdhxx' + ... + +where the ice concentration (*aice*), ice thickness (*hi*) and snow thickness (*hs*) are set to be output +on the monthly, daily, hourly, yearly or timestep intervals set by the *histfreq_n* setting. Since *histfreq_n* is +*0* for both monthly and daily frequencies and neither yearly nor per-timestep output is requested, only 6-hour +mean history files will be produced. + +Further details of the configuration of CICE model output can be found in the CICE documentation `3.1.4 `_ + +------- +WW3 +------- + +The run directory includes WW3 binary outputs for the gridded outputs (YYYYMMDD.HHMMSS.out_grd.), point outputs (YYYYMMDD.HHMMSS.out_pnt.points) and restart files (YYYYMMDD.HHMMSS.restart.). + +------- +CMEPS +------- + +The CMEPS mediator writes general information about the run-time configuration to the file *mediator.log* in the model run directory. Optionally, the CMEPS mediator can be configured to write history files for the purposes of examining the field exchanges at various points in the model run sequence. ============================================================== Additional Information about the FMS Diagnostic Manager ============================================================== -The UFS Weather Model output is managed through the FMS (Flexible Modeling System) diagnostic manager (``FMS/diag_manager``) -and is configured using the *diag_table* file. Data can be written at any number of sampling and/or averaging intervals +The FMS (Flexible Modeling System) diagnostic manager (``FMS/diag_manager``) manages the output for the ATM and, if present, the MOM6 component in the UFS Weather Model. It is configured using the *diag_table* file. Data can be written at any number of sampling and/or averaging intervals specified at run-time. More information about the FMS diagnostic manager can be found at: https://data1.gfdl.noaa.gov/summer-school/Lectures/July16/03_Seth1_DiagManager.pdf diff --git a/doc/UsersGuide/source/Introduction.rst b/doc/UsersGuide/source/Introduction.rst index 40ff757a65..192264e469 100644 --- a/doc/UsersGuide/source/Introduction.rst +++ b/doc/UsersGuide/source/Introduction.rst @@ -37,7 +37,7 @@ for those elements, are listed below: - The regression tests used to maintain software integrity as innovations are added. -The UFS Weather Model is currently included in two UFS Application releases. These UFS Apps also contain pre- and post-processing components, a comprehensive build system, and workflows for configuration and execution of the application. +The UFS Weather Model is currently included in two UFS Application releases. These UFS Apps also contain pre- and post-processing components, a comprehensive build system, and workflows for configuration and execution of the application. The UFS WM v2.0 is included as part of the UFS Short Range Weather App, and details can be found `here `_. diff --git a/modulefiles/ufs_stampede.intel b/modulefiles/ufs_stampede.intel index 458b91933f..31d27016b6 100644 --- a/modulefiles/ufs_stampede.intel +++ b/modulefiles/ufs_stampede.intel @@ -14,7 +14,7 @@ module-whatis "loads NEMS FV3 prerequisites for Stampede/Intel" ## ## NCEP libraries ## -module use /work/08048/hanglei/NCEP/install/hpc-stack/modulefiles/stack +module use /work2/08048/hanglei/stampede2/NCEP/install/hpc-stack/modulefiles/stack module load hpc/1.1.0 module load hpc-intel/18.0.2 module load hpc-impi/18.0.2 @@ -22,14 +22,14 @@ module load python3/3.7.0 module load bacio/2.4.1 module load crtm/2.3.0 -module load g2/3.4.1 -module load g2tmpl/1.9.1 +module load g2/3.4.3 +module load g2tmpl/1.10.0 module load ip/3.3.3 module load nemsio/2.5.2 module load sp/2.3.3 module load w3emc/2.7.3 module load w3nco/2.4.1 -module load upp/10.0.0 +module load upp/10.0.8 module load gfsio/1.4.1 module load sfcio/1.4.1 @@ -41,13 +41,14 @@ module load zlib/1.2.11 module load hdf5/1.10.6 module load netcdf/4.7.4 -module load pio/2.5.2 -module load esmf/8_1_0_beta_snapshot_47 +module load pio/2.5.3 +module load fms/2020.04.03 +module load esmf/8_1_1 ## ## load cmake ## -module load cmake/3.16.1 +module load cmake/3.20.1 setenv CC mpiicc setenv CXX mpiicpc setenv FC mpiifort diff --git a/tests/default_vars.sh b/tests/default_vars.sh index d0ae07ca90..e69647563e 100755 --- a/tests/default_vars.sh +++ b/tests/default_vars.sh @@ -358,7 +358,7 @@ elif [[ $MACHINE_ID = stampede.* ]]; then OPB_cpl_dflt_wwav="150 179"; IPB_cpl_dflt_wwav="180 191"; WPB_cpl_dflt_wwav="192 383" TASKS_cpl_thrd=120; TPN_cpl_thrd=24; INPES_cpl_thrd=3; JNPES_cpl_thrd=4 - THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 77"; APB_cpl_thrd="0 77" + THRD_cpl_thrd=2; WPG_cpl_thrd=6; MPB_cpl_thrd="0 71"; APB_cpl_thrd="0 77" OPB_cpl_thrd="78 107"; IPB_cpl_thrd="108 119" TASKS_cpl_bmrk=480; TPN_cpl_bmrk=48; INPES_cpl_bmrk=6; JNPES_cpl_bmrk=8 @@ -369,7 +369,7 @@ elif [[ $MACHINE_ID = stampede.* ]]; then THRD_cpl_wwav=1; WPG_cpl_wwav=24; MPB_cpl_wwav="0 287"; APB_cpl_wwav="0 311" OPB_cpl_wwav="312 431"; IPB_cpl_wwav="432 479"; WPB_cpl_wwav="480 527" - TASKS_cpl_c192=288; TPN_cpl_c192=40; INPES_cpl_c192=4; JNPES_cpl_c192=8 + TASKS_cpl_c192=288; TPN_cpl_c192=48; INPES_cpl_c192=4; JNPES_cpl_c192=8 THRD_cpl_c192=1; WPG_cpl_c192=12; MPB_cpl_c192="0 191"; APB_cpl_c192="0 203" OPB_cpl_c192="204 263"; IPB_cpl_c192="264 287" diff --git a/tests/fv3_conf/fv3_slurm.IN_stampede b/tests/fv3_conf/fv3_slurm.IN_stampede index 0384da5966..c8383e9f86 100644 --- a/tests/fv3_conf/fv3_slurm.IN_stampede +++ b/tests/fv3_conf/fv3_slurm.IN_stampede @@ -2,9 +2,9 @@ #SBATCH -o out #SBATCH -e err #SBATCH -N @[NODES] +#SBATCH --ntasks-per-node=@[TPN] #SBATCH -A @[ACCNR] #SBATCH -p @[QUEUE] -#SBATCH -n @[TASKS] #SBATCH -t 00:@[WLCLK]:00 set -eux @@ -30,7 +30,7 @@ export LD_BIND_NOW=1 #sync && sleep 1 #mpirun -prepend-rank -np $SBATCH_NP ./fv3.exe -ibrun ./fv3.exe +ibrun -n @[TASKS] ./fv3.exe echo "Model ended: " `date` echo -n " $( date +%s )," >> job_timestamp.txt diff --git a/tests/rt.sh b/tests/rt.sh index ebf2d6f30a..82830719a2 100755 --- a/tests/rt.sh +++ b/tests/rt.sh @@ -332,7 +332,7 @@ elif [[ $MACHINE_ID = stampede.* ]]; then PARTITION= ACCNR=TG-EES200015 dprefix=$SCRATCH/ufs-weather-model/run - DISKNM=/work/07736/minsukji/stampede2/ufs-weather-model/RT + DISKNM=/work2/07736/minsukji/stampede2/ufs-weather-model/RT STMP=$dprefix PTMP=$dprefix SCHEDULER=slurm