From a2b0817028e91aca4233c2d4198d14049bd6abbd Mon Sep 17 00:00:00 2001 From: GeorgeGayno-NOAA <52789452+GeorgeGayno-NOAA@users.noreply.github.com> Date: Wed, 1 Jun 2022 14:34:01 -0400 Subject: [PATCH] Update documentation for SRW App (#656) Update the doxygen and 'readthedocs' documentation. Update the varmap file 'readme' file. Supports v2.0 of the SRW Application. Fixes #643. --- VERSION | 2 +- docs/source/chgres_cube.rst | 67 ++++---- docs/source/ufs_utils.rst | 201 +++++++++++++++++++++-- docs/user_guide.md | 1 + parm/varmap_tables/README | 5 +- sorc/sfc_climo_gen.fd/docs/user_guide.md | 2 +- 6 files changed, 231 insertions(+), 47 deletions(-) diff --git a/VERSION b/VERSION index dc1e644a1..bd8bf882d 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.6.0 +1.7.0 diff --git a/docs/source/chgres_cube.rst b/docs/source/chgres_cube.rst index 988e346bb..a6e2cbb38 100644 --- a/docs/source/chgres_cube.rst +++ b/docs/source/chgres_cube.rst @@ -19,17 +19,19 @@ The program assumes Noah/Noah-MP LSM coefficients for certain soil thresholds. I * Computes required soil parameters * Reads the variable mapping (VARMAP) table. * model_grid.F90 - Sets up the ESMF grid objects for the input data grid and target FV3 grid. - * static_data.F90 - Reads static surface climatological data for the target FV3 grid (such as soil type and vegetation type). Time interpolates time-varying fields, such as monthly plant greenness, to the model run time. Data for each target FV3 resolution resides in the ‘fixed’ directory. Set path via the fix_dir_target_grid namelist variable. + * static_data.F90 - Reads static surface climatological data for the target FV3 grid (such as soil type and vegetation type). Time interpolates time-varying fields, such as monthly plant greenness, to the model run time. Set path to these files via the fix_dir_target_grid namelist variable. * write_data.F90 - Writes the tiled and header files expected by the forecast model. * input_data.F90 - Contains routines to read atmospheric and surface data from GRIB2, NEMSIO and NetCDF files. - * utils.f90 - Contains utility routines, such as error handling. + * utils.F90 - Contains utility routines, such as error handling. * grib2_util.F90 - Routines to (1) convert from RH to specific humidity; (2) convert from omega to dzdt. Required for GRIB2 input data. * atmosphere.F90 - Process atmospheric fields. Horizontally interpolate from input to target FV3 grid using ESMF regridding. Adjust surface pressure according to terrain differences between input and target grid. Vertically interpolate to target FV3 grid vertical levels. Description of main routines: * read_vcoord_info - Reads model vertical coordinate definition file (as specified by namelist variable vcoord_file_target_grid). - * newps - computes adjusted surface pressure given a new terrain height. - * newpr1 - computes 3-D pressure given an adjusted surface pressure. + * newps - Computes adjusted surface pressure given a new terrain height. + * newpr1 - Computes 3-D pressure given an adjusted surface pressure. * vintg - vertically interpolate atmospheric fields to target FV3 grid. + * vintg_wam - vertically interpolate atmospheric fields to the thermosphere. Supports the Whole Atmosphere Model. + * atmosphere_target_data.F90 - Holds the target grid atmospheric ESMF fields. * surface.F90 - process land, sea/lake ice, open water/Near Sea Surface Temperature (NSST) fields. NSST fields are not available when using GRIB2 input data. Description of main routines: * interp - horizontally interpolate fields from input to target FV3 grid. @@ -38,7 +40,10 @@ The program assumes Noah/Noah-MP LSM coefficients for certain soil thresholds. I * rescale_soil_moisture - adjust total soil moisture for differences between soil type on input and target FV3 grids. Required to preserve latent/sensible heat fluxes. * roughness - set roughness length at land and sea/lake ice. At land, a vegetation type-based lookup table is used. * qc_check - some consistency checks. - * search_util.f90 - searches for the nearest valid land/non-land data where the input and target fv3 land-mask differ. Example: when the target FV3 grid depicts an island that is not resolved by the input data. If nearby valid data is not found, a default value is used. + * surface_target_data.F90 - Holds the target grid surface ESMF fields. + * search_util.F90 - searches for the nearest valid land/non-land data where the input and target fv3 land-mask differ. Example: when the target FV3 grid depicts an island that is not resolved by the input data. If nearby valid data is not found, a default value is used. + * thompson_mp_climo_data.F90 - Processes climatological Thompson micro-physics fields. + * wam_climo_data.f90 - Process vertical profile climatological data for the Whole Atmosphere Model. Configuring and using chgres_cube for global applications --------------------------------------------------------- @@ -48,7 +53,7 @@ Program inputs and outputs for global applications **Inputs** -The following four sets of files are located here: https://ftp.emc.ncep.noaa.gov/EIB/UFS/global/fix/fix_fv3_gmted2010.v20191213/ +Users may create their own global grids, or use the pre-defined files are located `here `_. * FV3 mosaic file - (NetCDF format) * CRES_mosaic.nc @@ -69,7 +74,7 @@ The following four sets of files are located here: https://ftp.emc.ncep.noaa.gov * CRES_oro_data.tile5.nc * CRES_oro_data.tile6.nc - * FV3 surface climatological files - Located under the ./fix_sfc sub-directory. One file for each tile. NetCDF format. + * FV3 surface climatological files - Located under the `./fix_sfc `_ sub-directory. One file for each tile. NetCDF format. * CRES.facsf.tileX.nc (fractional coverage for strong/weak zenith angle dependent albedo) * CRES.maximum_snow_albedo.tileX.nc (maximum snow albedo) * CRES.slope_type.tileX.nc (slope type) @@ -79,7 +84,7 @@ The following four sets of files are located here: https://ftp.emc.ncep.noaa.gov * CRES.vegetation_greenness.tileX.nc (vegetation greenness) * CRES.vegetation_type.tileX.nc (vegetation type) - * FV3 vertical coordinate file. Text file. Located here: https://ftp.emc.ncep.noaa.gov/EIB/UFS/global/fix/fix_am.v20191213/ + * FV3 vertical coordinate file. Text file. `Located here `_. * global_hyblev.l$LEVS.txt * Input data files. GRIB2, NEMSIO or NetCDF. See the next section for how to find this data. @@ -103,24 +108,20 @@ The following four sets of files are located here: https://ftp.emc.ncep.noaa.gov * out.sfc.tile1.nc -Where to find GFS GRIB2, NEMSIO and NetCDF data for global applications -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Where to find GFS GRIB2 and NetCDF data for global applications +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ **GRIB2** - * 0.25-degree data (last 10 days only) - Use the **gfs.tHHz.pgrb2.0p25.f000** files in subdirectory gfs.YYYYMMDD/HH `here `_.` + * 0.25-degree data (last 10 days only) - Use the **gfs.tHHz.pgrb2.0p25.f000** files in subdirectory ./gfs.YYYYMMDD/HH/atmos on `NOMADS `_. - * 0.5-degree data - Use the **gfs_4_YYYYMMDD_00HH_000.grb2** file, under **GFS Forecasts 004 (0.5-deg)** here: `NCDC - Global Forecast System `__. Note: *Tests were not done with the AVN, MRF or analysis data*. + * 0.5-degree data - Use the **gfs_4_YYYYMMDD_HHHH_000.grb2** file, under **GFS Forecasts 004 (0.5-deg)** here: `NCEI - Global Forecast System `_. Note: *Tests were not done with the AVN, MRF or analysis data*. - * 1.0-degree data - Use the **gfs_3_YYYYMMDD_00HH_000.grb2 file**, under **GFS Forecasts 003 (1-deg)** here: `NCDC - Global Forecast System `__. Note: *Tests were not done with the AVN, MRF or analysis data*. - -**NEMSIO** - - * T1534 gaussian (last 10 days only) - Use the **gfs.tHHz.atmanl.nemsio** (atmospheric fields) and **gfs.tHHz.sfcanl.nemsio** (surface fields) files in subdirectory gfs.YYYYMMDD/HH `here `_. + * 1.0-degree data - Use the **gfs_3_YYYYMMDD_HHHH_000.grb2 file**, under **GFS Forecasts 003 (1.0-deg)** here: `NCEI - Global Forecast System `_. Note: *Tests were not done with the AVN, MRF or analysis data*. **NetCDF** - * T1534 gaussian (don't have any more details at this time). + * T1534 gaussian (last 10 days only) - Use the **gfs.tHHz.atmanl.nc** (atmospheric fields) and **gfs.tHHz.sfcanl.nc** (surface fields) files in subdirectory ./gfs.YYYYMMDD/HH/atmos on `NOMADS `_. Initializing global domains with GRIB2 data - some caveats ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -235,7 +236,7 @@ The following four sets of files/directories should all be located in the same d * CRES.vegetation_greenness.tile7.halo4.nc (vegetation greenness) * CRES.vegetation_type.tile7.halo4.nc (vegetation type) - * FV3 vertical coordinate file. Text file. Located in ./fix_am directory. + * FV3 vertical coordinate file. Text file. `Located here `_. * global_hyblev.l$LEVS.txt * Input data files. GRIB2 only. See the next section for how to find this data. @@ -253,23 +254,23 @@ Where to find FV3GFS, NAM, HRRR, and RAP GRIB2 data for regional applications **FV3GFS** - * 0.25-degree data (last 10 days only) - Use the **gfs.tHHz.pgrb2.0p25.f000** files in subdirectory gfs.YYYYMMDD/HH `here `_. + * 0.25-degree data (last 10 days only) - Use the **gfs.tHHz.pgrb2.0p25.f000** files in subdirectory ./gfs.YYYYMMDD/HH/atmos on `NOMADS `_. - * 0.5-degree data - Use the **gfs_4_YYYYMMDD_00HH_000.grb2** file, under **GFS Forecasts 004 (0.5-deg)** here: `NCDC - Global Forecast System `__. Note: *Tests were not done with the AVN, MRF or analysis data*. + * 0.5-degree data - Use the **gfs_4_YYYYMMDD_HHHH_000.grb2** file, under **GFS Forecasts 004 (0.5-deg)** here: `NCEI - Global Forecast System `_. Note: *Tests were not done with the AVN, MRF or analysis data*. - * 1.0-degree data - Use the **gfs_3_YYYYMMDD_00HH_000.grb2 file**, under **GFS Forecasts 003 (1-deg)** here: `NCDC - Global Forecast System `__. Note: *Tests were not done with the AVN, MRF or analysis data*. + * 1.0-degree data - Use the **gfs_3_YYYYMMDD_HHHH_000.grb2 file**, under **GFS Forecasts 003 (1.0-deg)** here: `NCEI - Global Forecast System `_. Note: *Tests were not done with the AVN, MRF or analysis data*. **NAM** - * 12-km data from last few days (NOMADS) - Use the **nam.tHHz.conusnest.hiresfFH.tmHH.grib2** files in subdirectory nam.YYYYMMDD `here `__. + * 12-km data from last few days (NOMADS) - Use the **nam.tHHz.conusnest.hiresfHH.tmHH.grib2** files in subdirectory nam.YYYYMMDD on `NOMADS `_. - * 12-km data from previous 6 months - Use the **nam_218_YYYYMMDD_00HH_000.grb2 file**, under **NAM Forecasts NAM-NMM 218 (12km) Domain** here: `NCDC - North American Mesoscale Forecast System `__. + * 12-km data starting 2020 - Use the **nam_218_YYYYMMDD_HHHH_000.grb2 file**, under **NAM Forecasts NAM-NMM 218 (12km) Domain** here: `NCEI - North American Mesoscale Forecast System `_. - * 12-km archived data older than 6 months can be requested through the Archive Information Request System `here `__. + * 12-km archived data prior to 2020 can be requested through the Archive Information Request System `here `_. **HRRR** - * 3-km operational data from previous few days (NOMADS) - Use the **hrrr.tHHz.wrfnatfFH.grib2** files in the subdirectory hrrr.YYYYMMDD/conus `here `__. + * 3-km operational data from previous few days (NOMADS) - Use the **hrrr.tHHz.wrfnatfHH.grib2** files in the subdirectory ./hrrr.YYYYMMDD/conus `here `_. * 3-km operational data from 2015 to present (AWS S3): Go `here `__ and click “Browse Bucket.” Type "YYYYMMDD" in to the Search bar. Use the **hrrr.t00z.wrfnatf00.grib2** files in the directory hrrr.YYYYMMDD/conus/. @@ -279,13 +280,11 @@ Where to find FV3GFS, NAM, HRRR, and RAP GRIB2 data for regional applications **RAP** + * 13-km operational data for the previous few days (NOMADS): Use the **rap.tHHz.wrfnatfHH.grib2** files in the subdirectory ./rap.YYYYMMDD `here `_. - * 13-km operational data for the previous few days (NOMADS): Use the **rap.tHHz.wrfnatfFH.grib2** files in the subdirectory rap.YYYYMMDD `here `__. - - * 13-km isobaric level data from previous 6 months : Use the **rap_130_YYYYMMDD_00HH_0FF.grb2** files from the HTTPS option under **RAP Forecasts - RAP 130 (13km) - Domain** at NCEI `here `__. - - * 13-km archived isobaric data older than 6 months can be requested through the Archive Information Request System `here `__. + * 13-km isobaric level data from previous 6 months : Use the **rap_130_YYYYMMDD_HHHH_0FF.grb2** files from **RAP Forecasts - RAP 130 (13km) - Domain** at NCEI `here `_. + * 13-km archived isobaric data older than 6 months can be requested through the Archive Information Request System `here `_. Initializing regional domains with GRIB2 data - some caveats @@ -312,7 +311,6 @@ Namelist variables with “input” in their name refer to data input to chgres_ **Required Entries** * fix_dir_target_grid - Path to the FV3-LAM surface climatological files (such as albedo). - * fix_dir_input_grid - Directory containing RAP lat/lon file. On NOAA HPC machines, typically the “fix/fix_am” directory of the UFS_UTILS directory. * mosaic_file_target_grid - Path and name of the FV3-LAM mosaic file. * orog_dir_target_grid - Directory containing the FV3-LAM orography and grid files (NetCDF). * orog_files_target_grid - Names of the FV3-LAM orography file. @@ -344,6 +342,9 @@ Namelist variables with “input” in their name refer to data input to chgres_ * minmax_vgfrc_from_climo - Use min/max vegetation fraction from climatology. Valid options: .true. or .false. (Default: .true.) * tg3_from_soil - Use tg3 from input soil. Valid options: .true. or .false. . Default: .false. * thomp_mp_climo_file - Location of Thompson aerosol climatology file. Provide only if you wish to use these aerosol variables. + * wam_cold_start - Cold start for the Whole Atmosphere Model. Valid Options: .true. or .false. (Default: .false.) + * use_rh - Use relative humidity instead of specific humidity when reading in external model grib2 files (Default: .false.) + * calrh - Type of relative humidity to specific humidity calculation to use (Default: 0; use existing calculation, or 1; use calculation consistent with GFSv15/v16) Variable Mapping (VARMAP) table ------------------------------- @@ -382,7 +383,7 @@ Column 2: Name of the variable in the output “coldstart” files. Unimplemente Column 3: Behavior when the code can't find the variable in the input file. Options are: * "skip": Don't write to the output file. - * "intrp": LnP interpolation to missing levels. No extrapolation allowd. + * "intrp": Ln(pressure) interpolation to missing levels. Linear interpolation and extrapolation are possible, but require modifying the value of "LINLOG" in input_data.F90 to anything other than 2, or to a negative number, respectively. * "set_to_fill": Set to user-specified field value (see column 4). * "stop": Force an exception and stop code execution. Use this if you absolutely require a field to be present. diff --git a/docs/source/ufs_utils.rst b/docs/source/ufs_utils.rst index b6e23aefe..7255dc6d1 100644 --- a/docs/source/ufs_utils.rst +++ b/docs/source/ufs_utils.rst @@ -14,9 +14,12 @@ Grid Generation The following programs are used to create a grid. * make_hgrid - * regional_grid_esg + * regional_esg_grid * make_solo_mosaic * orog + * orog_gsl (optional) + * inland (optional) + * lakefrac (optional) * global_equiv_resol * shave * filter_topo @@ -26,7 +29,9 @@ The grid generation process is run by these scripts (located under ./ush) * fv3gfs_grid_driver.sh (driver script) * fv3gfs_make_grid.sh (creates the geo-referencing for the grid) - * fv3gfs_make_orog.sh (creates the land-sea mask and terrain) + * fv3gfs_make_orog.sh (creates the land-sea mask, terrain and EMC gravity wave drag fields) + * fv3gfs_make_orog_gsl.sh (creates GSL gravity wave drag fields) + * fv3gfs_make_lake.sh (adds lakes and lake depth. optional) * fv3gfs_filter_topo.sh (filters the orography) * sfc_climo_gen.sh (creates climatological surface fields, such as soil type) @@ -233,11 +238,11 @@ Program inputs and outputs * The "grid" files (CRES_grid.tile#.nc) containing the geo-reference records for the grid - (NetCDF). Created by the make_hgrid or regional_esg_grid programs. * Global 30-arc-second University of Maryland land cover data. Used to create the land-sea mask. - * ./fix/fix_orog/landcover30.fixed (unformatted binary) + * landcover30.fixed (unformatted binary). Located here `./fix/fix_orog `_. * Global 30-arc-second USGS GMTED2010 orography data. - * ./fix/fix_orog/gmted2010.30sec.int (unformatted binary) + * gmted2010.30sec.int (unformatted binary). Located here `./fix/fix_orog `_. * 30-arc-second RAMP Antarctic terrain data (Radarsat Antarctic Mapping Project) - * ./fix/fix_orog/thirty.second.antarctic.new.bin (unformatted binary) + * thirty.second.antarctic.new.bin (unformatted binary). Located here `./fix/fix_orog `_. **Output data:** @@ -258,6 +263,123 @@ Orography files - one for each tile - oro.CRES.tile#.nc (NetCDF). Contains thes * sigma - slope of orography (unitless) * elvmax - maximum height above mean (meters) +orog_gsl +======== + +Introduction +------------ + +This program computes orographics statistics fields required for the orographic drag suite developed by NOAA's Global Systems Laboratory (GSL). The fields are a subset of the ones calculated by "orog" and are calculated in a different manner. + +Code structure +-------------- + +Location of source code: ./sorc/orog_mask_tools.fd/orog_gsl.fd. + +Program inputs and outputs +-------------------------- + +The program reads the tile number (1-6 for global, 7 for stand-alone regional) and grid resolution (e.g., 768) from standard input. + +**Input data:** + +All in NetCDF. + + * The tiled "grid" files (CRES_grid.tile#.nc) created by the make_hgrid or regional_esg_grid programs. + * geo_em.d01.lat-lon.2.5m.HGT_M.nc - global topographic data on 2.5-minute lat-lon grid (interpolated from GMTED2010 30-second topographic data). `Located here `_. + * HGT.Beljaars_filtered.lat-lon.30s_res.nc - global topographic data on 30-second lat-lon grid (GMTED2010 data smoothed according to Beljaars et al. (QJRMS, 2004)). `Located here `_. + +**Output data:** + +One for each tile. All in NetCDF. + + * CRES_oro_data_ls.tile#.nc - Large-scale file for the gravity wave drag and blocking schemes of `Kim and Doyle (2005) `_ + * CRES_oro_data.ss.tile#.nc - Small-scale file for the gravity wave drag scheme of `Tsiringakis et al. (2017) `_. And the turbulent orographic from drag (TOFD) schemem of Beljaars et al. (QJRMS, 2004). + +Each file contains the following records: + + * geolon - longitude (degrees east) + * geolat - latitude (degrees north) + * stddev - Standard deviation of subgrid topography + * convexity - Convexity of subgrid topography + * oa1 - Orographic asymmetry of subgrid topography - westerly + * oa2 - Orographic asymmetry of subgrid topography - southerly + * oa3 - Orographic asymmetry of subgrid topography - southwesterly + * oa4 - Orographic asymmetry of subgrid topography - northwesterly + * ol1 - Orographic effective length of subgrid topography - westerly + * ol2 - Orographic effective length of subgrid topography - southerly + * ol3 - Orographic effective length of subgrid topography - southwesterly + * ol4 - Orographic effective length of subgrid topography - northwesterly + +inland +====== + +Introduction +------------ + +This program reads an orography file, determines which points are inland from water, then writes out a mask record that identifies these points. + +Code structure +-------------- + +Location of source code: ./sorc/orog_mask_tools.fd/inland.fd. + +Program control options +----------------------- + +The program reads the following parameters from standard input: + * The resolution. Ex: '96' for C96. + * Nonland cutoff fraction. Default is '0.99'. + * Maximum recursive depth. Default is '7'. + * Grid type flag - 'g' for global, 'r' for regional. + +Program inputs and outputs +-------------------------- + +**Input data:** + + * orography file - The orography file from the orog program - oro.CRES.tile#.nc (NetCDF) + +**Output data:** + + * orography file - The input file, but containing an additional 'inland' record - '1' inland, '0' coastal. + +lakefrac +======== + +Introduction +------------ + +This program sets freshwater lake fraction and lake depth on the model grid. + +Code structure +-------------- + +Location of source code: ./sorc/orog_mask_tools.fd/lake.fd. + +Program control options +----------------------- + +The program reads the following parameters from standard input: + * The tile number. + * The resolution. Ex: '96' for C96. + * The path to the global lake data. + * Minimum lake fraction in percent. + +Program inputs and outputs +-------------------------- + +**Input data:** + + * grid file - the "grid" file from the make_hgrid or regional_esg programs - CRES_grid.tile#.nc - (NetCDF) + * orography file - the orography file including the 'inland' flag record from the inland program - oro.CRES.tile#.nc (NetCDF) + * lake status code file - GlobalLakeStatus.dat (located in `./fix/fix_orog `_). See GlobalLakeStatus.txt for the defintion of each code. + * lake depth file - GlobalLakeDepth.dat (located in `./fix/fix_orog `_). See GlobalLakeDepth.txt for a description of this file. + +**Output data:** + + * orography file - the orography file including records of lake fraction and lake depth - oro.CRES.tile#.nc (NetCDF) + filter_topo =========== @@ -395,19 +517,32 @@ Program inputs and outputs **Input data:** -The global surface climatological data is located in ./fix/fix_sfc_climo. All NetCDF. +The surface climatological data is located here `./fix/fix_sfc_climo `_. All NetCDF. * Global 1-degree fractional coverage strong/weak zenith angle albedo - facsf.1.0.nc * Global 0.05-degree maximum snow albedo - maximum_snow_albedo.0.05.nc * Global 2.6 x 1.5-degree soil substrate temperature - substrate_temperature.2.6x1.5.nc * Global 0.05-degree four component monthly snow-free albedo - snowfree_albedo.4comp.0.05.nc * Global 1.0-degree categorical slope type - slope_type.1.0.nc - * Global 0.05-degree categorical STATSGO soil type - soil_type.statsgo.0.05.nc - * Global 0.05-degree categorical IGBP vegetation type - vegetation_type.igbp.0.05.nc + * Categorical STATSGO soil type + * Global 0.03-degree - soil_type.statsgo.0.03.nc + * Global 0.05-degree - soil_type.statsgo.0.05.nc + * CONUS 0.01-degree - soil_type.statsgo.conus.0.01.nc + * Categorical IGBP vegetation type + * MODIS-based global 0.03-degree - vegetation_type.modis.igbp.0.03.nc + * MODIS-based global 0.05-degree - vegetation_type.modis.igbp.0.05.nc + * MODIS-based CONUS 0.01-degree - vegetation_type.modis.igbp.conus.0.01.nc + * NESDIS VIIRS-based global 0.03-degree - vegetation_type.viirs.igbp.0.03.nc + * NESDIS VIIRS-based global 0.05-degree - vegetation_type.viirs.igbp.0.05.nc + * NESDIS VIIRS-based global 0.1-degree - vegetation_type.viirs.igbp.0.1.nc + * NESDIS VIIRS-based CONUS 0.01-degree - vegetation_type.viirs.igbp.conus.0.01.nc * Global 0.144-degree monthly vegetation greenness in percent - vegetation_greenness.0.144.nc - * Model mosaic file - CRES_mosaic.nc (NetCDF) - * Model orography files including halo - CRES_oro_data.tile#.halo#.nc (NetCDF) - * Model grid files including halo - CRES_grid.tile#.halo#.nc (NetCDF) + +The files that define the model grid. All NetCDF. + + * Model mosaic file - CRES_mosaic.nc + * Model orography files including halo - CRES_oro_data.tile#.halo#.nc + * Model grid files including halo - CRES_grid.tile#.halo#.nc **Output files:** @@ -421,3 +556,47 @@ All files with and without halo (all NetCDF). * Soil type - CRES_soil_type.tile#.halo#.nc * Vegetation type - CRES_vegetation_type.tile#.halo#.nc * Vegetation greenness - CRES_vegetation_greenness.tile#.halo#.nc + + +vcoord_gen +========== + +Introduction +------------ + +This program generates hybrid coordinate parameters from fields such as surface pressure, model top and the number of vertical levels. Outputs the 'ak' and 'bk' parameters used by the forecast model and chgres_cube to define the hybrid levels as follows: + + * pressure = ak + (surface_pressure * bk) + +Code structure +-------------- + +Location of the source code: ./sorc/vcoord_gen.fd. + +Program inputs +-------------- + +The following user-defined parameters are read in from standard input. + + * levs - Integer number of levels + * lupp - Integer number of levels below pupp + * pbot - Real nominal surface pressure (Pa) + * psig - Real nominal pressure where coordinate changes from pure sigma (Pa) + * ppre - Real nominal pressure where coordinate changes from pure pressure (Pa) + * pupp - Real nominal pressure where coordinate changes to upper atmospheric profile (Pa) + * ptop - Real pressure at top (Pa) + * dpbot - Real coordinate thickness at bottom (Pa) + * dpsig - Real thickness of zone within which coordinate changes to pure sigma (Pa) + * dppre - Real thickness of zone within which coordinate changes to pure pressure (Pa) + * dpupp - Real coordinate thickness at pupp (Pa) + * dptop - Real coordinate thickness at top (Pa) + +Program outputs +--------------- + +A text file is output containing the 'ak' and 'bk' values. To use it in chgres_cube, set namelist variable "vcoord_target_grid" to the path/name of this file. + +Run script +---------- + +To run, use script ./util/vcoord_gen/run.sh diff --git a/docs/user_guide.md b/docs/user_guide.md index 7e91938fe..1c1ec51f4 100644 --- a/docs/user_guide.md +++ b/docs/user_guide.md @@ -10,6 +10,7 @@ https://github.com/ufs-community/UFS_UTILS. ## Documentation for Previous Versions of UFS_UTILS +* [UFS_UTILS Version 1.7.0](ver-1.7.0/index.html) * [UFS_UTILS Version 1.6.0](ver-1.6.0/index.html) * [UFS_UTILS Version 1.5.0](ver-1.5.0/index.html) * [UFS_UTILS Version 1.4.0](ver-1.4.0/index.html) diff --git a/parm/varmap_tables/README b/parm/varmap_tables/README index 1bfbd10b8..31af3c463 100644 --- a/parm/varmap_tables/README +++ b/parm/varmap_tables/README @@ -14,7 +14,10 @@ Column 2: Name the code will use to save the variable in the output file. Unimpl Comumn 3: Behavior when the code can't find the variable in the input file. Options are: "skip": Don't write to output file. "set_to_fill": Set to user-specified field value (see column 4). - "intrp": LnP interpolation to missing levels. No extrapolation allowd. + "intrp": Ln(pressure) interpolation to missing levels. Linear interpolation and + extrapolation are possible, but require modifying the value of "LINLOG" + in input_data.F90 to anything other than 2, or to a negative number, + respectively. "stop": Force an exception and stop code execution. Use this if you absolutely require a field to be present. Column 4: If column 3 = "set_to_fill", then this value is used to fill in all points diff --git a/sorc/sfc_climo_gen.fd/docs/user_guide.md b/sorc/sfc_climo_gen.fd/docs/user_guide.md index aa9c6a80a..40f291ef1 100644 --- a/sorc/sfc_climo_gen.fd/docs/user_guide.md +++ b/sorc/sfc_climo_gen.fd/docs/user_guide.md @@ -9,5 +9,5 @@ fields, such as vegetation type and albedo, for an FV3 grid. This document is part of the UFS_UTILS documentation. -The orog_mask_tools programs are part of the +This program is part of the [UFS_UTILS](https://github.com/ufs-community/UFS_UTILS) project.