diff --git a/ldt/testcases/DAobs_MODISlai/README b/ldt/testcases/DAobs_MODISlai/README new file mode 100644 index 000000000..1039cb0b5 --- /dev/null +++ b/ldt/testcases/DAobs_MODISlai/README @@ -0,0 +1,22 @@ +MODIS MCD15A2H v006 LAI Data Assimilation Test Case + +This testcase processes MODIS MCD15A2H v006 leaf area index (LAI) to generate +CDFs for 5km domain. + +This directory contains: + +* this README file. +* the ldt.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and the sample + input data. + +Notes: + +This feature was added in pull request #659 +(https://github.com/NASA-LIS/LISF/pull/659). diff --git a/ldt/testcases/DAobs_MODISlai/ldt.config b/ldt/testcases/DAobs_MODISlai/ldt.config new file mode 100755 index 000000000..54fb5b305 --- /dev/null +++ b/ldt/testcases/DAobs_MODISlai/ldt.config @@ -0,0 +1,230 @@ +#Overall driver options +LDT running mode: "DA preprocessing" +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Land surface model: "Noah-MP.4.0.1" +Routing model: none +Lake model: none +Water fraction cutoff value: 0.5 +#Incorporate crop information: .false. +Number of met forcing sources: 0 +Met forcing sources: none +Met spatial transform methods: bilinear +Topographic correction method (met forcing): "lapse-rate" +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: noahmp_MODIS.log +LDT output directory: ./ +Undefined value: -9999.0 +Number of ensembles per tile: 1 +Number of processors along x: 1 +Number of processors along y: 1 + +#LIS domain +Map projection of the LIS domain: latlon +Run domain lower left lat: 28.025 +Run domain lower left lon: 34.025 +Run domain upper right lat: 34.975 +Run domain upper right lon: 39.975 +Run domain resolution (dx): 0.05 +Run domain resolution (dy): 0.05 + +#Landcover parameter inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin +Landcover spatial transform: tile +Landcover fill option: none +Landcover map projection: latlon + +#Landmask parameter inputs +Create or readin landmask: "create" +Landmask data source: "MODIS_Native" +Landmask file: none +Landmask spatial transform: none +Landmask map projection: latlon + +#Soil parameter inputs +Soil fraction data source: none +Soils spatial transform: none +Soils fill option: none +Soils map projection: latlon +Porosity data source: none +Porosity map: none + +#Soil texture inputs +Soil texture data source: ISRIC +Soil texture map: ./input/LS_PARAMETERS/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif +Soil texture spatial transform: mode +Soil texture fill option: neighbor +Soil texture fill radius: 5 +Soil texture fill value: 6 +Soil texture map projection: latlon + + +Soils spatial transform: none +Soils map projection: latlon + + +#Albedo inputs +Albedo data source: "NCEP_LIS" +Albedo map: ./input/LS_PARAMETERS/UMD/5KM/albedo_NCEP +Albedo climatology interval: monthly +Albedo spatial transform: none +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.14 +Albedo map projection: latlon +Albedo lower left lat: -59.975 +Albedo lower left lon: -179.975 +Albedo upper right lat: 89.975 +Albedo upper right lon: 179.975 +Albedo resolution (dx): 0.05 +Albedo resolution (dy): 0.05 + +#Maximum snow albedo inputs +Max snow albedo data source: "Barlage_Native" +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maximum_snow_albedo.hdf +Max snow albedo spatial transform: budget-bilinear +Max snow albedo fill option: neighbor +Max snow albedo fill radius: 5 +Max snow albedo fill value: 0.3 +Max snow albedo map projection: latlon + +#Greenness inputs +Greenness data source: "NCEP_LIS" +Greenness fraction map: ./input/LS_PARAMETERS/UMD/5KM/gvf_NCEP +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .true. +Greenness spatial transform: none +Greenness fill option: neighbor +Greenness fill radius: 5 +Greenness fill value: 0.20 +Greenness maximum fill value: 0.80 +Greenness minimum fill value: 0.05 +Greenness map projection: latlon +Greenness lower left lat: -59.975 +Greenness lower left lon: -179.975 +Greenness upper right lat: 89.975 +Greenness upper right lon: 179.975 +Greenness resolution (dx): 0.05 +Greenness resolution (dy): 0.05 + +#Slope type inputs +Slope type data source: NCEP_Native +Slope type map: ./input/LS_PARAMETERS/noah_2dparms/islope +Slope type spatial transform: neighbor +Slope type fill option: neighbor +Slope type fill radius: 5 +Slope type fill value: 3.0 +Slope type map projection: latlon + +#Noah-MP LSM inputs +Noah-MP PBL Height Value: 900. + +#Elevation map +GDAS forcing directory: ./input/MET_FORCING/GDAS +GDAS T126 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t126.grb +GDAS T170 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t170.grb +GDAS T254 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t254.grb +GDAS T382 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t382.grb +GDAS T574 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t574.grb +GDAS T1534 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography_uf.t1534.3072.1536.grb + +# SRTM Elevation data entries: +Elevation data source: "SRTM_LIS" +Elevation metadata variable name: "HGT_M" +Elevation map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_elev1km.1gd4r +Elevation number of bands: 1 +Slope data source: "SRTM_LIS" +Slope map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_slope1km.1gd4r +Slope number of bands: 1 +Aspect data source: "SRTM_LIS" +Aspect map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_aspect1km.1gd4r +Aspect number of bands: 1 + + +Topography spatial transform: neighbor +Elevation fill option: neighbor +Elevation fill radius: 10 +Elevation fill value: 10 +Slope fill option: neighbor +Slope fill radius: 10 +Slope fill value: 0.1 +Aspect fill option: neighbor +Aspect fill radius: 10 +Aspect fill value: 0 + +Topography map projection: latlon +Topography lower left lat: -59.995 +Topography lower left lon: -179.995 +Topography upper right lat: 89.995 +Topography upper right lon: 179.995 +Topography resolution (dx): 0.01 +Topography resolution (dy): 0.01 + + +#Bottom temperature inputs +Bottom temperature data source: "NCEP_LIS" +Bottom temperature map: ./input/LS_PARAMETERS/UMD/5KM/tbot_NCEP.1gd4r +Bottom temperature spatial transform: none +Bottom temperature fill option: neighbor +Bottom temperature fill radius: 3. +Bottom temperature fill value: 287.0 +Bottom temperature topographic downscaling: "none" +Bottom temperature map projection: latlon +Bottom temperature lower left lat: -59.975 +Bottom temperature lower left lon: -179.975 +Bottom temperature upper right lat: 89.975 +Bottom temperature upper right lon: 179.975 +Bottom temperature resolution (dx): 0.05 +Bottom temperature resolution (dy): 0.05 + +DA preprocessing method: "CDF generation" +DA observation source: "MCD15A2H LAI" +Name of the preprocessed DA file: "MCD15A2H_cdf_5km_2obs" + +MCD15A2H LAI data directory: ./input/LS_PARAMETERS/MODIS/MCD15A2H.006 +MCD15A2H LAI data version: "006" +MCD15A2H LAI apply climatological fill values: 1 +MCD15A2H LAI apply QC flags: 1 + +Apply anomaly correction to obs: 0 +Temporal resolution of CDFs: monthly +Number of bins to use in the CDF: 10 +Observation count threshold: 2 +Temporal averaging interval: "1da" +Apply external mask: 0 +External mask directory: none + +Search radius for openwater proximity detection: 1 + + +Starting year: 2003 +Starting month: 1 +Starting day: 1 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2005 +Ending month: 1 +Ending day: 1 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +LIS output timestep: "1da" + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + diff --git a/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/README b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/README new file mode 100644 index 000000000..e0cc75f15 --- /dev/null +++ b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/README @@ -0,0 +1,34 @@ +Focus: Downscaling 12 Member Ensemble Restart File to 8 Member Restart File + +Description: This case involves the downscaling or generating an eight-member + restart file from a twelve-member restart file using the "random sampling" + sampling strategy. + + +This test case uses the following files: + (a) this README file + (b) the ldt.config input file used by LDT + +To run such a case: + + (a) Obtain an ensemble-based restart file from one of your LIS + model run directories, such as: + LIS_RST_NOAH33_201212312330.d01.nc + + (b) Generate the LDT executable and copy to your working directory. + + (c) Modify the ldt.config file provided for your case. + + (d) Run the LDT executable with the provided ldt.config file by typing: + ./LDT ldt.config + + (e) View the NetCDF (*.nc) output using a tool, like + the ncview executable (if you have it installed). + +Caveats: + (a) Please note that this is a more basic functional test for purpose + of learning major LDT features. + +Notes: + This feature was added in pull request #853: + https://github.com/NASA-LIS/LISF/pull/853 diff --git a/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/ldt.config b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/ldt.config new file mode 100644 index 000000000..37962f9ed --- /dev/null +++ b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Downscale/ldt.config @@ -0,0 +1,163 @@ + +LDT running mode: "Ensemble restart processing" + +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 2 +Surface model types: "LSM" "Openwater" +Land surface model: "Noah-MP.4.0.1" +Routing model: none +Lake model: none +Water fraction cutoff value: 0.5 +Incorporate crop information: .false. + +Number of met forcing sources: 0 +Met forcing sources: none + +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: MaskParamFill.log +LDT output directory: OUTPUT +Undefined value: -9999.0 + +#AFRICOM 25KM domain: +Map projection of the LIS domain: latlon +Run domain lower left lat: -39.8750 +Run domain upper right lat: 39.875 +Run domain lower left lon: -19.8750 +Run domain upper right lon: 59.875 +Run domain resolution (dx): 0.25 +Run domain resolution (dy): 0.25 + +#Landcover parameter inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin +Landcover spatial transform: tile +Landcover map projection: latlon +Landcover fill option: neighbor +Landcover fill radius: 5 +Landcover fill value: 10 + +#Landmask parameter inputs +Create or readin landmask: "readin" +Landmask data source: "UKMO_CAP_Netcdf" +Landmask file: ./input/landmask/cap2ldt_ps41.nc +Landmask spatial transform: mode # Go from ~10 KM to 25KM domain ... +Landmask map projection: latlon +Landmask lower left lat: -89.9531250 +Landmask lower left lon: -179.9296875 +Landmask upper right lat: 89.9531250 +Landmask upper right lon: 179.9296875 +Landmask resolution (dx): 0.1406250 +Landmask resolution (dy): 0.0937500 + +#Soil parameter inputs +Soil fraction data source: none +Soils spatial transform: none +Soils map projection: latlon +Soils fill option: none +Porosity data source: none +Porosity map: none + +#Soil texture map: +Soil texture data source: none +Soil texture map: ./input/LS_PARAMETERS/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif # v2017 file +Soil texture map projection: latlon +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture fill value for Antarctica: 4 # 4 -- USDA value for silty-loam +Soil texture force exclusion of water points during fill: true + +#Topography parameter inputs +Elevation data source: "none" +Elevation number of bands: 1 +Elevation map: none +Slope data source: "none" +Slope number of bands: 1 +Slope map: none +Aspect data source: "none" +Aspect number of bands: 1 +Aspect map: none +Topography spatial transform: average +Topography map projection: latlon + +#Albedo inputs +Albedo data source: "none" +Albedo map: ./input/LS_PARAMETERS/noah_2dparms/albedo +Albedo climatology interval: monthly +Albedo spatial transform: "budget-bilinear" +Albedo map projection: latlon +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.15 + +#Maximum snow albedo inputs +Max snow albedo data source: "none" +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maximum_snow_albedo.hdf +Max snow albedo spatial transform: average +Max snow albedo map projection: latlon +Max snow albedo fill option: neighbor +Max snow albedo fill radius: 5 +Max snow albedo fill value: 0.3 + +#Greenness inputs +Greenness data source: "none" +Greenness fraction map: ./input/LS_PARAMETERS/noah_2dparms/gfrac +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_max.asc +Greenness minimum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_min.asc +Greenness spatial transform: "budget-bilinear" +Greenness map projection: latlon +Greenness fill option: neighbor +Greenness fill radius: 5 +Greenness fill value: 0.3 +Greenness maximum fill value: 1.0 +Greenness minimum fill value: 0.0 + +#Slope type inputs +Slope type data source: "none" + +#Bottom temperature inputs +Bottom temperature data source: "none" +Bottom temperature map: ./input/LS_PARAMETERS/noah_2dparms/SOILTEMP.60 +Bottom temperature spatial transform: "budget-bilinear" +Bottom temperature map projection: latlon +Bottom temperature fill option: average +Bottom temperature fill radius: 5 +Bottom temperature fill value: 287.0 +Bottom temperature topographic downscaling: "lapse-rate" + +#Noah-MP LSM inputs +Noah-MP PBL Height Value: 900. + +# -- New LDT restart generation sampling option + +Number of ensembles per tile: 12 + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +LIS restart source: "LSM" +Ensemble restart generation mode: "downscale" +Ensemble restart generation sampling strategy: "random sampling" + +Input restart filename: ./input/LIS_RST_NOAHMP401_200711302345.d01.nc +Output restart filename: ./LIS_RST_NOAHMP401_200711302345.d01.ens8.nc +Number of ensembles per tile (input restart): 12 +Number of ensembles per tile (output restart): 8 + +# ----- + diff --git a/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/README b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/README new file mode 100644 index 000000000..1a838469d --- /dev/null +++ b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/README @@ -0,0 +1,34 @@ +Focus: Upscaling 12 Member Ensemble Restart File to 20 Member Restart File + +Description: This case involves the upscaling or generating a twenty-member + restart file from a twelve-member restart file using the "random sampling" + sampling strategy. + + +This test case uses the following files: + (a) this README file + (b) the ldt.config input file used by LDT + +To run such a case: + + (a) Obtain an ensemble-based restart file from one of your LIS + model run directories, such as: + LIS_RST_NOAH33_201212312330.d01.nc + + (b) Generate the LDT executable and copy to your working directory. + + (c) Modify the ldt.config file provided for your case. + + (d) Run the LDT executable with the provided ldt.config file by typing: + ./LDT ldt.config + + (e) View the NetCDF (*.nc) output using a tool, like + the ncview executable (if you have it installed). + +Caveats: + (a) Please note that this is a more basic functional test for purpose + of learning major LDT features. + +Notes: + This feature was added in pull request #853: + https://github.com/NASA-LIS/LISF/pull/853 diff --git a/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/ldt.config b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/ldt.config new file mode 100644 index 000000000..a4f42e9c3 --- /dev/null +++ b/ldt/testcases/EnsRST_Scaling_RandomSampling/LDT_Ensrst_Upscale/ldt.config @@ -0,0 +1,163 @@ + +LDT running mode: "Ensemble restart processing" + +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 2 +Surface model types: "LSM" "Openwater" +Land surface model: "Noah-MP.4.0.1" +Routing model: none +Lake model: none +Water fraction cutoff value: 0.5 +Incorporate crop information: .false. + +Number of met forcing sources: 0 +Met forcing sources: none + +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: MaskParamFill.log +LDT output directory: OUTPUT +Undefined value: -9999.0 + +#AFRICOM 25KM domain: +Map projection of the LIS domain: latlon +Run domain lower left lat: -39.8750 +Run domain upper right lat: 39.875 +Run domain lower left lon: -19.8750 +Run domain upper right lon: 59.875 +Run domain resolution (dx): 0.25 +Run domain resolution (dy): 0.25 + +#Landcover parameter inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin +Landcover spatial transform: tile +Landcover map projection: latlon +Landcover fill option: neighbor +Landcover fill radius: 5 +Landcover fill value: 10 + +#Landmask parameter inputs +Create or readin landmask: "readin" +Landmask data source: "UKMO_CAP_Netcdf" +Landmask file: ./input/landmask/cap2ldt_ps41.nc +Landmask spatial transform: mode # Go from ~10 KM to 25KM domain ... +Landmask map projection: latlon +Landmask lower left lat: -89.9531250 +Landmask lower left lon: -179.9296875 +Landmask upper right lat: 89.9531250 +Landmask upper right lon: 179.9296875 +Landmask resolution (dx): 0.1406250 +Landmask resolution (dy): 0.0937500 + +#Soil parameter inputs +Soil fraction data source: none +Soils spatial transform: none +Soils map projection: latlon +Soils fill option: none +Porosity data source: none +Porosity map: none + +#Soil texture map: +Soil texture data source: none +Soil texture map: ./input/LS_PARAMETERS/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif # v2017 file +Soil texture map projection: latlon +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture fill value for Antarctica: 4 # 4 -- USDA value for silty-loam +Soil texture force exclusion of water points during fill: true + +#Topography parameter inputs +Elevation data source: "none" +Elevation number of bands: 1 +Elevation map: none +Slope data source: "none" +Slope number of bands: 1 +Slope map: none +Aspect data source: "none" +Aspect number of bands: 1 +Aspect map: none +Topography spatial transform: average +Topography map projection: latlon + +#Albedo inputs +Albedo data source: "none" +Albedo map: ./input/LS_PARAMETERS/noah_2dparms/albedo +Albedo climatology interval: monthly +Albedo spatial transform: "budget-bilinear" +Albedo map projection: latlon +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.15 + +#Maximum snow albedo inputs +Max snow albedo data source: "none" +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maximum_snow_albedo.hdf +Max snow albedo spatial transform: average +Max snow albedo map projection: latlon +Max snow albedo fill option: neighbor +Max snow albedo fill radius: 5 +Max snow albedo fill value: 0.3 + +#Greenness inputs +Greenness data source: "none" +Greenness fraction map: ./input/LS_PARAMETERS/noah_2dparms/gfrac +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_max.asc +Greenness minimum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_min.asc +Greenness spatial transform: "budget-bilinear" +Greenness map projection: latlon +Greenness fill option: neighbor +Greenness fill radius: 5 +Greenness fill value: 0.3 +Greenness maximum fill value: 1.0 +Greenness minimum fill value: 0.0 + +#Slope type inputs +Slope type data source: "none" + +#Bottom temperature inputs +Bottom temperature data source: "none" +Bottom temperature map: ./input/LS_PARAMETERS/noah_2dparms/SOILTEMP.60 +Bottom temperature spatial transform: "budget-bilinear" +Bottom temperature map projection: latlon +Bottom temperature fill option: average +Bottom temperature fill radius: 5 +Bottom temperature fill value: 287.0 +Bottom temperature topographic downscaling: "lapse-rate" + +#Noah-MP LSM inputs +Noah-MP PBL Height Value: 900. + +# -- New LDT restart generation sampling option + +Number of ensembles per tile: 12 + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +LIS restart source: "LSM" +Ensemble restart generation mode: "upscale" +Ensemble restart generation sampling strategy: "random sampling" + +Input restart filename: ./input/LIS_RST_NOAHMP401_200711302345.d01.nc +Output restart filename: ./LIS_RST_NOAHMP401_200711302345.d01.ens20.nc +Number of ensembles per tile (input restart): 12 +Number of ensembles per tile (output restart): 20 + +# ----- + diff --git a/ldt/testcases/MCD15A2Hv006LAIreadertest/README b/ldt/testcases/MCD15A2Hv006LAIreadertest/README new file mode 100644 index 000000000..dfef5cc45 --- /dev/null +++ b/ldt/testcases/MCD15A2Hv006LAIreadertest/README @@ -0,0 +1,21 @@ +LDT MODIS LAI (MCD15A2Hv006) DA Preprocessing Reader Testcase + +This testcase demonstrates the MODIS LAI MCD15A2Hv006 reader in the DA +pre-processing mode of LDT. + +The testcase includes the following files: + (a) this README file + (b) the ldt.config file + +To run this testcase: + + 1. Unpack the inputs in MCD15A2Hv006LAIreadertest_ldt_v73.tar.gz + in the same directory as the ldt.config file + 2. Generate the LDT executable + 3. Run the LDT executable with the ldt.config file + 4. View the NetCDF output using a tool such as ncview + +Notes: + +This feature was added in pull request #659: +https://github.com/nasa-lis/lisf/pull/659 diff --git a/ldt/testcases/MCD15A2Hv006LAIreadertest/ldt.config b/ldt/testcases/MCD15A2Hv006LAIreadertest/ldt.config new file mode 100644 index 000000000..503dd5217 --- /dev/null +++ b/ldt/testcases/MCD15A2Hv006LAIreadertest/ldt.config @@ -0,0 +1,233 @@ +#Overall driver options +LDT running mode: "DA preprocessing" +Processed LSM parameter filename: ./lis_input_JL_ol.nc +LIS number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Land surface model: "Noah-MP.4.0.1" +Routing model: none +Lake model: none +Water fraction cutoff value: 0.5 +#Incorporate crop information: .false. +Number of met forcing sources: 0 +Met forcing sources: none +Met spatial transform methods: bilinear +Topographic correction method (met forcing): "lapse-rate" +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: MaskParamFill.log +LDT output directory: ./ +Undefined value: -9999.0 +Number of ensembles per tile: 1 +Number of processors along x: 1 +Number of processors along y: 1 + +#LIS domain +Map projection of the LIS domain: latlon +Run domain lower left lat: 28.025 +Run domain lower left lon: 34.025 +Run domain upper right lat: 34.975 +Run domain upper right lon: 39.975 +Run domain resolution (dx): 0.05 +Run domain resolution (dy): 0.05 + +#Landcover parameter inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin +Landcover spatial transform: tile +Landcover fill option: none +Landcover map projection: latlon + +#Landmask parameter inputs +Create or readin landmask: "create" +Landmask data source: "MODIS_Native" +Landmask file: none +Landmask spatial transform: none +Landmask map projection: latlon + +#Soil parameter inputs +Soil fraction data source: none +Soils spatial transform: none +Soils fill option: none +Soils map projection: latlon +Porosity data source: none +Porosity map: none + +#Soil texture inputs +Soil texture data source: ISRIC +Soil texture map: ./input/LS_PARAMETERS/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif +Soil texture spatial transform: mode +Soil texture fill option: neighbor +Soil texture fill radius: 5 +Soil texture fill value: 6 +Soil texture map projection: latlon + + +Soils spatial transform: none +Soils map projection: latlon + + +#Albedo inputs +Albedo data source: "NCEP_LIS" +Albedo map: ./input/LS_PARAMETERS/UMD/5KM/albedo_NCEP +Albedo climatology interval: monthly +Albedo spatial transform: none +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.14 +Albedo map projection: latlon +Albedo lower left lat: -59.975 +Albedo lower left lon: -179.975 +Albedo upper right lat: 89.975 +Albedo upper right lon: 179.975 +Albedo resolution (dx): 0.05 +Albedo resolution (dy): 0.05 + +#Maximum snow albedo inputs +Max snow albedo data source: "Barlage_Native" +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maximum_snow_albedo.hdf +Max snow albedo spatial transform: budget-bilinear +Max snow albedo fill option: neighbor +Max snow albedo fill radius: 5 +Max snow albedo fill value: 0.3 +Max snow albedo map projection: latlon + +#Greenness inputs +Greenness data source: "NCEP_LIS" +Greenness fraction map: ./input/LS_PARAMETERS/UMD/5KM/gvf_NCEP +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .true. +Greenness spatial transform: none +Greenness fill option: neighbor +Greenness fill radius: 5 +Greenness fill value: 0.20 +Greenness maximum fill value: 0.80 +Greenness minimum fill value: 0.05 +Greenness map projection: latlon +Greenness lower left lat: -59.975 +Greenness lower left lon: -179.975 +Greenness upper right lat: 89.975 +Greenness upper right lon: 179.975 +Greenness resolution (dx): 0.05 +Greenness resolution (dy): 0.05 + +#Slope type inputs +Slope type data source: NCEP_Native +Slope type map: ./input/LS_PARAMETERS/noah_2dparms/islope +Slope type spatial transform: neighbor +Slope type fill option: neighbor +Slope type fill radius: 5 +Slope type fill value: 3.0 +Slope type map projection: latlon + +#Noah-MP LSM inputs +Noah-MP PBL Height Value: 900. + +#Elevation map +GDAS forcing directory: ./input/MET_FORCING/GDAS +GDAS T126 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t126.grb +GDAS T170 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t170.grb +GDAS T254 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t254.grb +GDAS T382 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t382.grb +GDAS T574 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography.t574.grb +GDAS T1534 elevation map: ./input/LS_PARAMETERS/metforcing_parms/GDAS/global_orography_uf.t1534.3072.1536.grb + +# SRTM Elevation data entries: +Elevation data source: "SRTM_LIS" +Elevation metadata variable name: "HGT_M" +Elevation map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_elev1km.1gd4r +Elevation number of bands: 1 +Slope data source: "SRTM_LIS" +Slope map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_slope1km.1gd4r +Slope number of bands: 1 +Aspect data source: "SRTM_LIS" +Aspect map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/srtm_aspect1km.1gd4r +Aspect number of bands: 1 + + +Topography spatial transform: neighbor +Elevation fill option: neighbor +Elevation fill radius: 10 +Elevation fill value: 10 +Slope fill option: neighbor +Slope fill radius: 10 +Slope fill value: 0.1 +Aspect fill option: neighbor +Aspect fill radius: 10 +Aspect fill value: 0 + +Topography map projection: latlon +Topography lower left lat: -59.995 +Topography lower left lon: -179.995 +Topography upper right lat: 89.995 +Topography upper right lon: 179.995 +Topography resolution (dx): 0.01 +Topography resolution (dy): 0.01 + + +#Bottom temperature inputs +Bottom temperature data source: "NCEP_LIS" +Bottom temperature map: ./input/LS_PARAMETERS/UMD/5KM/tbot_NCEP.1gd4r +Bottom temperature spatial transform: none +Bottom temperature fill option: neighbor +Bottom temperature fill radius: 3. +Bottom temperature fill value: 287.0 +Bottom temperature topographic downscaling: "none" +Bottom temperature map projection: latlon +Bottom temperature lower left lat: -59.975 +Bottom temperature lower left lon: -179.975 +Bottom temperature upper right lat: 89.975 +Bottom temperature upper right lon: 179.975 +Bottom temperature resolution (dx): 0.05 +Bottom temperature resolution (dy): 0.05 + +DA preprocessing method: "CDF generation" +DA observation source: "MCD15A2H LAI" +Name of the preprocessed DA file: "MCD15A2H_cdf_5km_20obs" + +MCD15A2H LAI data directory: ./input/LS_PARAMETERS/MODIS/MCD15A2H.006 +MCD15A2H LAI data version: "006" +MCD15A2H LAI apply climatological fill values: 1 +MCD15A2H LAI apply QC flags: 1 + +Apply anomaly correction to obs: 0 +Temporal resolution of CDFs: monthly +Number of bins to use in the CDF: 100 +Observation count threshold: 20 +Temporal averaging interval: "1da" +Apply external mask: 0 +External mask directory: none + +Search radius for openwater proximity detection: 1 + + +Starting year: 2003 +Starting month: 1 +Starting day: 1 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2004 +Ending month: 1 +Ending day: 1 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +LIS output timestep: "1da" + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + + + + diff --git a/ldt/testcases/MERIThydroDEM/README b/ldt/testcases/MERIThydroDEM/README new file mode 100644 index 000000000..6c22db416 --- /dev/null +++ b/ldt/testcases/MERIThydroDEM/README @@ -0,0 +1,22 @@ +Adds the MERIT (Multi-Error-Removed Improved-Terrain) DEM Test Case + +This testcase processes upscaled 1k MERIT DEM data for topography parameters. + +This directory contains: + +* this README file. +* the ldt.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* The input.ctl GrADS descriptor file used to display the input parameter file. + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and the sample + input data. + +Notes: + +This feature was added in pull request #531 +(https://github.com/NASA-LIS/LISF/pull/531). diff --git a/ldt/testcases/MERIThydroDEM/input.ctl b/ldt/testcases/MERIThydroDEM/input.ctl new file mode 100644 index 000000000..527380c56 --- /dev/null +++ b/ldt/testcases/MERIThydroDEM/input.ctl @@ -0,0 +1,107 @@ +dset ^lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 414 linear -125.0859 0.140625 +ydef 300 linear 24.98438 0.09375 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 96 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +SURFACETYPE=>SURFACETYPE15 0 14,y,x description +SURFACETYPE=>SURFACETYPE16 0 15,y,x description +SURFACETYPE=>SURFACETYPE17 0 16,y,x description +SURFACETYPE=>SURFACETYPE18 0 17,y,x description +SURFACETYPE=>SURFACETYPE19 0 18,y,x description +SURFACETYPE=>SURFACETYPE20 0 19,y,x description +SURFACETYPE=>SURFACETYPE21 0 20,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +LANDCOVER=>LANDCOVER15 0 14,y,x description +LANDCOVER=>LANDCOVER16 0 15,y,x description +LANDCOVER=>LANDCOVER17 0 16,y,x description +LANDCOVER=>LANDCOVER18 0 17,y,x description +LANDCOVER=>LANDCOVER19 0 18,y,x description +LANDCOVER=>LANDCOVER20 0 19,y,x description +LANDCOVER=>LANDCOVER21 0 20,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +SLOPEFGRD=>SLOPEFGRD 1 y,x description +SLOPE=>SLOPE 1 y,x description +ASPECTFGRD=>ASPECTFGRD 1 y,x description +ASPECT=>ASPECT 1 y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/MERIThydroDEM/input_testcase.ctl b/ldt/testcases/MERIThydroDEM/input_testcase.ctl new file mode 100644 index 000000000..ca8d54a8b --- /dev/null +++ b/ldt/testcases/MERIThydroDEM/input_testcase.ctl @@ -0,0 +1,107 @@ +dset ^lis_input_testcase.d01.nc +dtype netcdf +options template +undef -9999 +xdef 414 linear -125.0859 0.140625 +ydef 300 linear 24.98438 0.09375 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 96 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +SURFACETYPE=>SURFACETYPE15 0 14,y,x description +SURFACETYPE=>SURFACETYPE16 0 15,y,x description +SURFACETYPE=>SURFACETYPE17 0 16,y,x description +SURFACETYPE=>SURFACETYPE18 0 17,y,x description +SURFACETYPE=>SURFACETYPE19 0 18,y,x description +SURFACETYPE=>SURFACETYPE20 0 19,y,x description +SURFACETYPE=>SURFACETYPE21 0 20,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +LANDCOVER=>LANDCOVER15 0 14,y,x description +LANDCOVER=>LANDCOVER16 0 15,y,x description +LANDCOVER=>LANDCOVER17 0 16,y,x description +LANDCOVER=>LANDCOVER18 0 17,y,x description +LANDCOVER=>LANDCOVER19 0 18,y,x description +LANDCOVER=>LANDCOVER20 0 19,y,x description +LANDCOVER=>LANDCOVER21 0 20,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +SLOPEFGRD=>SLOPEFGRD 1 y,x description +SLOPE=>SLOPE 1 y,x description +ASPECTFGRD=>ASPECTFGRD 1 y,x description +ASPECT=>ASPECT 1 y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/MERIThydroDEM/ldt.config b/ldt/testcases/MERIThydroDEM/ldt.config new file mode 100644 index 000000000..62521614c --- /dev/null +++ b/ldt/testcases/MERIThydroDEM/ldt.config @@ -0,0 +1,142 @@ +#Overall driver options +LDT running mode: "LSM parameter processing" +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 2 +Surface model types: "LSM" "Openwater" +Land surface model: "Noah.3.9" +Routing model: "none" +Lake model: none +Water fraction cutoff value: 0.5 +Incorporate crop information: .false. +Number of met forcing sources: 0 +Met forcing sources: none +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: MaskParamFill.log +LDT output directory: OUTPUT +Undefined value: -9999.0 + +#Rotated GALWEM 10-km domain - CONUS +Map projection of the LIS domain: latlon +Run domain lower left lat: 24.9843750 +Run domain lower left lon: -125.0859375 +Run domain upper right lat: 53.0156250 +Run domain upper right lon: -67.0078125 +Run domain resolution (dx): 0.1406250 +Run domain resolution (dy): 0.0937500 + +#Landcover parameter inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin +Landcover spatial transform: tile +Landcover map projection: latlon +Landcover fill option: neighbor +Landcover fill radius: 5 +Landcover fill value: 10 + +#Landmask parameter inputs +Create or readin landmask: "readin" +Landmask data source: "MODIS_LIS" +Landmask file: ./input/landmask/conus_mask_big-endian.gdat +Landmask spatial transform: none +Landmask map projection: latlon +Landmask fill option: none +Landmask lower left lat: 24.9843750 +Landmask lower left lon: -125.0859375 +Landmask upper right lat: 53.0156250 +Landmask upper right lon: -67.0078125 +Landmask resolution (dx): 0.1406250 +Landmask resolution (dy): 0.0937500 + +#Soil parameter inputs +Soil fraction data source: none +Soils spatial transform: none +Soils map projection: latlon +Soils fill option: none +Porosity data source: none +Porosity map: none + +#Soil texture inputs +Soil texture data source: "STATSGOFAO_Native" +Soil texture map: ./input/LS_PARAMETERS/noah_2dparms/topsoil30snew +Soil texture spatial transform: mode +Soil texture map projection: latlon +Soil texture fill option: neighbor +Soil texture fill radius: 5 +Soil texture fill value: 6 +Soil texture fill value for Antarctica: 16 +Soil texture force exclusion of water points during fill: true + +#Topography parameter inputs +Elevation data source: "MERIT_1K" +Elevation number of bands: 1 +Elevation map: ./input/LS_PARAMETERS/topo_parms/MERIT +Elevation fill option: none +Elevation fill radius: 5 +Elevation fill value: 0 + +Slope data source: "MERIT_1K" +Slope number of bands: 1 +Slope map: ./MERIT +Slope fill option: none +Slope fill radius: 5 +Slope fill value: 0 + +Aspect data source: "MERIT_1K" +Aspect number of bands: 1 +Aspect map: ./MERIT +Aspect fill option: none +Aspect fill radius: 5 +Aspect fill value: 3.14159 + +Topography spatial transform: average +Topography map projection: latlon + +#Albedo inputs +Albedo data source: "NCEP_Native" +Albedo map: ./input/LS_PARAMETERS/noah_2dparms/albedo +Albedo climatology interval: monthly +Albedo spatial transform: "budget-bilinear" +Albedo map projection: latlon +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.15 + +#Maximum snow albedo inputs +Max snow albedo data source: "NCEP_Native" +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maxsnoalb.asc # Max. snow albedo map +Max snow albedo spatial transform: "budget-bilinear" # average | neighbor | bilinear | budget-bilinear +Max snow albedo fill option: neighbor # none | neighbor | average +Max snow albedo fill radius: 5 # Number of pixels to search for neighbor +Max snow albedo fill value: 0.3 # Static value to fill where missing +Max snow albedo map projection: latlon + +#Greenness inputs +Greenness data source: "NCEP_Native" +Greenness fraction map: ./input/LS_PARAMETERS/noah_2dparms/gfrac +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_max.asc +Greenness minimum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_min.asc +Greenness spatial transform: "budget-bilinear" +Greenness map projection: latlon +Greenness fill option: neighbor +Greenness fill radius: 5 +Greenness fill value: 0.3 +Greenness maximum fill value: 1.0 +Greenness minimum fill value: 0.0 + +#Slope type inputs +Slope type data source: none + +#Bottom temperature inputs +Bottom temperature data source: "ISLSCP1" +Bottom temperature map: ./input/LS_PARAMETERS/noah_2dparms/SOILTEMP.60 +Bottom temperature spatial transform: "budget-bilinear" +Bottom temperature map projection: latlon +Bottom temperature fill option: average +Bottom temperature fill radius: 5 +Bottom temperature fill value: 287.0 +Bottom temperature topographic downscaling: "lapse-rate" + diff --git a/ldt/testcases/OPTUE/README b/ldt/testcases/OPTUE/README new file mode 100644 index 000000000..f94d208a8 --- /dev/null +++ b/ldt/testcases/OPTUE/README @@ -0,0 +1,30 @@ +OPT/UE Parameter Processing Run Mode Test Case + +This case tests the processing of LIS-generated OPT/UE files using LDT. + +This directory contains: + +* this README file +* the ldt.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* the input data needed for this testcase (input/) + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and the sample + input data. + + See the official LDT documentation for more information. + +Notes: + +This feature was added in Pull Request #183 +https://github.com/NASA-LIS/LISF/pull/183 + +Enables LDT to read the OPT/UE outputs from LIS and extract the +calibrated parameters. A new runmode to support this feature has been +added ('OPTUE parameter processing'). In this runmode, the LDT will +extract the parameters from the OPT/UE output file and then add them +to the LIS domain/parameter file generated by LDT. diff --git a/ldt/testcases/OPTUE/input.ctl b/ldt/testcases/OPTUE/input.ctl new file mode 100644 index 000000000..2ac949b43 --- /dev/null +++ b/ldt/testcases/OPTUE/input.ctl @@ -0,0 +1,105 @@ +dset ^lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 94 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +SLOPETYPE=>SLOPETYPE 1 y,x description +NOAHMP36_PBLH=>NOAHMP36_PBLH 1 y,x description +BEXP=>BEXP 1 y,x description +CZIL=>CZIL 1 y,x description +DKSAT=>DKSAT 1 y,x description +DWSAT=>DWSAT 1 y,x description +FRZK=>FRZK 1 y,x description +HS=>HS 1 y,x description +NROOT=>NROOT 1 y,x description +PSISAT=>PSISAT 1 y,x description +QUARTZ=>QUARTZ 1 y,x description +REFDK=>REFDK 1 y,x description +REFKDT=>REFKDT 1 y,x description +RGL=>RGL 1 y,x description +RSMIN=>RSMIN 1 y,x description +SMCMAX=>SMCMAX 1 y,x description +SMCREF=>SMCREF 1 y,x description +SMCWLT=>SMCWLT 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/OPTUE/input_testcase.ctl b/ldt/testcases/OPTUE/input_testcase.ctl new file mode 100644 index 000000000..0af4eda41 --- /dev/null +++ b/ldt/testcases/OPTUE/input_testcase.ctl @@ -0,0 +1,105 @@ +dset ^lis_input_testcase.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 94 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +SLOPETYPE=>SLOPETYPE 1 y,x description +NOAHMP36_PBLH=>NOAHMP36_PBLH 1 y,x description +BEXP=>BEXP 1 y,x description +CZIL=>CZIL 1 y,x description +DKSAT=>DKSAT 1 y,x description +DWSAT=>DWSAT 1 y,x description +FRZK=>FRZK 1 y,x description +HS=>HS 1 y,x description +NROOT=>NROOT 1 y,x description +PSISAT=>PSISAT 1 y,x description +QUARTZ=>QUARTZ 1 y,x description +REFDK=>REFDK 1 y,x description +REFKDT=>REFKDT 1 y,x description +RGL=>RGL 1 y,x description +RSMIN=>RSMIN 1 y,x description +SMCMAX=>SMCMAX 1 y,x description +SMCREF=>SMCREF 1 y,x description +SMCWLT=>SMCWLT 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/OPTUE/ldt.config b/ldt/testcases/OPTUE/ldt.config new file mode 100644 index 000000000..fcba4fb83 --- /dev/null +++ b/ldt/testcases/OPTUE/ldt.config @@ -0,0 +1,196 @@ +LDT running mode: "OPTUE parameter processing" +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Land surface model: "Noah-MP.3.6" +Routing model: none +Lake model: none +Water fraction cutoff value: 0.5 +Incorporate crop information: .false. +Number of met forcing sources: 0 +Met forcing sources: none +Met spatial transform methods: bilinear +Topographic correction method (met forcing): "none" +LDT diagnostic file: ldtlog +Mask-parameter fill diagnostic file: MaskParamFill.log +LDT output directory: OUTPUT +Undefined value: -9999.0 + +#LIS domain +Map projection of the LIS domain: latlon +Run domain lower left lat: 25.0625 +Run domain lower left lon: -124.9375 +Run domain upper right lat: 52.9375 +Run domain upper right lon: -67.0625 +Run domain resolution (dx): 0.125 +Run domain resolution (dy): 0.125 + +#Landcover parameter inputs +Landcover data source: "AVHRR" +Landcover classification: "UMD" +Landcover file: ./input/LS_PARAMETERS/NLDAS_0.125/umdveg_nldas.1gd4r +Landcover spatial transform: none +Landcover fill option: none +Landcover map projection: latlon +Landcover lower left lat: 25.0625 +Landcover lower left lon: -124.9375 +Landcover upper right lat: 52.9375 +Landcover upper right lon: -67.0625 +Landcover resolution (dx): 0.125 +Landcover resolution (dy): 0.125 + +#Landmask parameter inputs +Create or readin landmask: "readin" +Landmask data source: "AVHRR" +Landmask file: ./input/data/NLDASmask_UMDunified.1gd4r +Landmask spatial transform: none +Landmask fill option: none +Landmask map projection: latlon +Landmask lower left lat: 25.0625 +Landmask lower left lon: -124.9375 +Landmask upper right lat: 52.9375 +Landmask upper right lon: -67.0625 +Landmask resolution (dx): 0.125 +Landmask resolution (dy): 0.125 + +#Soil texture inputs +Soil texture data source: "STATSGOFAO_LIS" +Soil texture map: ./input/LS_PARAMETERS/NLDAS_0.125/soil_texture_statsgo_nldas.1gd4r +Soils map projection: latlon +Soils spatial transform: none +Soil texture spatial transform: none +Soil texture fill option: none +Soil texture map projection: latlon +Soil texture lower left lat: 25.0625 +Soil texture lower left lon: -124.9375 +Soil texture upper right lat: 52.9375 +Soil texture upper right lon: -67.0625 +Soil texture resolution (dx): 0.125 +Soil texture resolution (dy): 0.125 + +#Albedo inputs +Albedo data source: "NCEP_LIS" +Albedo map: ./input/LS_PARAMETERS/NLDAS_0.125/albedo_nldas +Albedo climatology interval: monthly +Albedo spatial transform: none +Albedo fill option: neighbor +Albedo fill radius: 5 +Albedo fill value: 0.14 +Albedo map projection: latlon +Albedo lower left lat: 25.0625 +Albedo lower left lon: -124.9375 +Albedo upper right lat: 52.9375 +Albedo upper right lon: -67.0625 +Albedo resolution (dx): 0.125 +Albedo resolution (dy): 0.125 + +#Maximum snow albedo inputs +Max snow albedo data source: "NCEP_LIS" +Max snow albedo map: ./input/LS_PARAMETERS/NLDAS_0.125/maxsnalb_nldas.1gd4r +Max snow albedo spatial transform: none +Max snow albedo fill option: neighbor +Max snow albedo fill radius: 5 +Max snow albedo fill value: 0.5 +Max snow albedo map projection: latlon +Max snow albedo lower left lat: 25.0625 +Max snow albedo lower left lon: -124.9375 +Max snow albedo upper right lat: 52.9375 +Max snow albedo upper right lon: -67.0625 +Max snow albedo resolution (dx): 0.125 +Max snow albedo resolution (dy): 0.125 + +#Greenness inputs +Greenness data source: "NCEP_LIS" +Greenness fraction map: ./input/LS_PARAMETERS/NLDAS_0.125/gfrac_nldas +Greenness climatology interval: monthly +Calculate min-max greenness fraction: .true. +Greenness spatial transform: none +Greenness fill option: none +Greenness map projection: latlon +Greenness lower left lat: 25.0625 +Greenness lower left lon: -124.9375 +Greenness upper right lat: 52.9375 +Greenness upper right lon: -67.0625 +Greenness resolution (dx): 0.125 +Greenness resolution (dy): 0.125 + +#Slope type inputs +Slope type data source: "NCEP_LIS" +Slope type map: ./input/LS_PARAMETERS/NLDAS_0.125/noah_slope_nldas.1gd4r +Slope type spatial transform: none +Slope type fill option: none +Slope type map projection: latlon +Slope type lower left lat: 25.0625 +Slope type lower left lon: -124.9375 +Slope type upper right lat: 52.9375 +Slope type upper right lon: -67.0625 +Slope type resolution (dx): 0.125 +Slope type resolution (dy): 0.125 + +#Bottom temperature inputs +Bottom temperature data source: "NCEP_LIS" +Bottom temperature map: ./input/LS_PARAMETERS/NLDAS_0.125/tbot_nldas.1gd4r +Bottom temperature spatial transform: none +Bottom temperature fill option: none +Bottom temperature topographic downscaling: "none" +Bottom temperature map projection: latlon +Bottom temperature lower left lat: 25.0625 +Bottom temperature lower left lon: -124.9375 +Bottom temperature upper right lat: 52.9375 +Bottom temperature upper right lon: -67.0625 +Bottom temperature resolution (dx): 0.125 +Bottom temperature resolution (dy): 0.125 + +#Noah-MP LSM inputs +Noah-MP PBL Height Value: 900. + +DA preprocessing method: "CDF generation" +DA observation source: "ISMN soil moisture" +#DA observation source: "NASA SMAP soil moisture" +Name of the preprocessed DA file: "ISMN_cdf" #25km + +Apply anomaly correction to obs: 0 +Temporal resolution of CDFs: "yearly" +Number of bins to use in the CDF: 100 +Observation count threshold: 100 +Temporal averaging interval: "1da" +Apply external mask: 0 +External mask directory: none + +Enable spatial sampling for CDF calculations: 1 +Spatial sampling window radius for CDF calculations: 5 + +Starting year: 2016 +Starting month: 01 +Starting day: 01 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2018 +Ending month: 05 +Ending day: 31 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +LIS output timestep: "1da" + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + + +Number of ensembles per tile: 1 + +ISMN soil moisture observation directory: ./input/ISMNdata + +LIS OPT/UE output file: ./input/GA.0059.1gd4r diff --git a/ldt/testcases/ObsSimtests/ObsSimAMSR2test/README b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/README new file mode 100644 index 000000000..1eaf97f08 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/README @@ -0,0 +1,24 @@ +AMSR2 Observation Simulator Test Case + +This LDT test case generates synthetic observations of AMSR2 using LDT's +"Observation Simulation" runmode. This feature is intended for OSSE experiments. + +This simulator can handle the use of external orbital masks to be applied to +the observations created for OSSEs. Currently, AMSR2, TSMM, Sentinel-1A, +and MODIS are available instrumental options. + +This directory contains: + +* this README file. +* the ldt.config file used for this testcase. + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and sample input data. +* View the output using ncview. + + +Notes: +This feature was added in pull request #867: +https://github.com/nasa-lis/lisf/pull/867 diff --git a/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input.ctl b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input.ctl new file mode 100644 index 000000000..a783d6804 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input.ctl @@ -0,0 +1,15 @@ +dset ^OUTPUT/%y4%m2/SimObs_%y4%m2%d20000.nc +dtype netcdf +options template +undef -9999 +xdef 13 linear -108.445 0.25 +ydef 12 linear 37.645 0.25 +zdef 1 linear 1 1 +* dummy tdef +tdef 29 linear 00z02feb2020 1dy +vars 4 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +SWE_tavg=>SWE_TAVG 1 y,x description +SWE_inst=>SWE_INST 1 y,x description +endvars diff --git a/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input_testcase.ctl b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input_testcase.ctl new file mode 100644 index 000000000..72cd82e5b --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/input_testcase.ctl @@ -0,0 +1,15 @@ +dset ^TARGET_OUTPUT/%y4%m2/SimObs_%y4%m2%d20000.nc +dtype netcdf +options template +undef -9999 +xdef 13 linear -108.445 0.25 +ydef 12 linear 37.645 0.25 +zdef 1 linear 1 1 +* dummy tdef +tdef 29 linear 00z02feb2020 1dy +vars 4 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +SWE_tavg=>SWE_TAVG 1 y,x description +SWE_inst=>SWE_INST 1 y,x description +endvars diff --git a/ldt/testcases/ObsSimtests/ObsSimAMSR2test/ldt.config b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/ldt.config new file mode 100644 index 000000000..790160395 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimAMSR2test/ldt.config @@ -0,0 +1,346 @@ + +# == LDT Main Entry Options == + +LDT running mode: "Observation simulator" # LDT type of run-mode (top-level option) + +Processed LSM parameter filename: ./lis_input.d01.nc # Final output file read by LIS-7 + +LIS number of nests: 1 # Total number of nests run by LIS +Number of surface model types: 1 # Total number of desired surface model types +Surface model types: "LSM" "Glacier" # Surface models: LSM | Openwater | Glacier +Land surface model: "Noah-MP.3.6" # Enter LSM(s) of choice +Routing model: "none" +Lake model: "none" # Enter Lake model(s) of choice + +Water fraction cutoff value: 0.5 # Fraction at which gridcell is designated as 'water +Glacier fraction cutoff value: 0.2 + +Number of met forcing sources: 0 # Enter number of forcing types +Met forcing sources: "MERRA2" # Enter 'none' if no forcing selected +Blending method for forcings: "overlay" +Met spatial transform methods: "bilinear" # bilinear | budget-bilinear | neighbor | average +Topographic correction method (met forcing): "lapse-rate" # none | lapse-rate + +LDT diagnostic file: ldtlog # Log-based diagnostic output file +Undefined value: -9999.0 # Universal undefined value +LDT output directory: OUTPUT # If metrics or stats are written out +Number of ensembles per tile: 1 # The number of ensemble members per tile + +# Processor layout + +Number of processors along x: 2 +Number of processors along y: 2 + +# LIS domain: (See LDT User's Guide for other projection information) + +Map projection of the LIS domain: latlon +Run domain lower left lat: 37.645 +Run domain lower left lon: -108.445 +Run domain upper right lat: 40.595 +Run domain upper right lon: -105.145 +Run domain resolution (dx): 0.25 +Run domain resolution (dy): 0.25 + +# Glacier + +Glacier mask data source: "GLIMS" "MODIS_Native" +Glacier mask map: ./input/LS_PARAMETERS/GLIMS/glims_global.d01.nc +Glacier mask spatial transform: average +Glacier mask map projection: latlon +Glacier mask lower left lat: -89.995 +Glacier mask lower left lon: -179.995 +Glacier mask upper right lat: 89.995 +Glacier mask upper right lon: 179.995 +Glacier mask resolution (dx): 0.01 +Glacier mask resolution (dy): 0.01 + +# == Landcover, Landmask and Soil Texture Parameters == + +# Landcover/Mask Parameter Inputs + +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" # Enter land cover classification type +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin # Landcover map path +Landcover spatial transform: tile # none | mode | neighbor | tile +Landcover fill option: none # none | neighbor (Not needed if creating landmask) +Landcover map projection: latlon + +# Create landmask field from readin landcover map or read in separate landmask file +Create or readin landmask: "create" # create | readin +Landmask data source: "MODIS_Native" # If 'created', recommended to put Landcover source name here +Landmask file: none # Land mask file (if needed to be read-in) +Landmask spatial transform: none # none | mode | neighbor + +# Soil fraction +Soil fraction data source: none +Soil fraction number of bands: 1 +Sand fraction map: ./input/soil_parms/ISRIC/download/SNDPPT_M_sl1_250m_ll.tif +Clay fraction map: ./input/soil_parms/ISRIC/download/CLYPPT_M_sl1_250m_ll.tif +Silt fraction map: ./input/soil_parms/ISRIC/downlad/SLTPPT_M_sl1_250m_ll.tif +Soils spatial transform: average +Soils fill option: none +Soils map projection: latlon +Soils lower left lat: -56.008104 +Soils lower left lon: -180.00 +Soils upper right lat: 83.9991672 +Soils upper right lon: 179.9999424 +Soils resolution (dx): 0.0020833 +Soils resolution (dy): 0.0020833 + +#Soil texture map: +Soil texture data source: none +Soil texture map: ./input/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture map projection: latlon +Soil texture lower left lat: -56.008104 +Soil texture lower left lon: -180.00 +Soil texture upper right lat: 83.9991672 +Soil texture upper right lon: 179.9999424 +Soil texture resolution (dx): 0.0020833 +Soil texture resolution (dy): 0.0020833 + + +#Soil texture map: +#Soil texture data source: STATSGOFAO_Native +#Soil texture map: ./input/noah_2dparms/topsoil30snew # Enter soil texture map +#Soil texture spatial transform: mode # none | mode | neighbor | tile +#Soil texture fill option: neighbor # none | neighbor +#Soil texture fill radius: 5 # Number of pixels to search for neighbor +#Soil texture fill value: 6 # Static value to fill where missing +#Soil texture map projection: latlon + +Soils spatial transform: none # Note: do not use mode with soil fractions +Soils map projection: latlon + +# SRTM Elevation data entries: +Elevation data source: "none" +Elevation map: ./input/topo_parms/SRTM/SRTM30/srtm_elev1km.1gd4r +Elevation number of bands: 1 +Slope data source: "none" +Slope map: ./input/topo_parms/SRTM/SRTM30/srtm_slope1km.1gd4r +Slope number of bands: 1 +Aspect data source: "none" +Aspect map: ./input/topo_parms/SRTM/SRTM30/srtm_aspect1km.1gd4r +Aspect number of bands: 1 + + +Topography spatial transform: average +Elevation fill option: average +Elevation fill radius: 5 +Elevation fill value: 0 +Slope fill option: average +Slope fill radius: 5 +Slope fill value: 0.1 +Aspect fill option: average +Aspect fill radius: 5 +Aspect fill value: 0 + +Topography map projection: latlon +Topography lower left lat: -59.995 +Topography lower left lon: -179.995 +Topography upper right lat: 89.995 +Topography upper right lon: 179.995 +Topography resolution (dx): 0.01 +Topography resolution (dy): 0.01 + +# == Main Noah LSM Parameters == + +# Albedo maps: + +Albedo data source: none +Albedo map: ./input/noah_2dparms/albedo # Albedo files +Albedo climatology interval: monthly # monthly | quarterly +Albedo spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Albedo fill option: neighbor # none | neighbor | average +Albedo fill radius: 5 # Number of pixels to search for neighbor +Albedo fill value: 0.14 # Static value to fill where missing +Albedo map projection: latlon + +Max snow albedo data source: none +Max snow albedo map: ./input/noah_2dparms/maxsnoalb.asc # Max. snow albedo map +Max snow albedo spatial transform: budget-bilinear # average | neighbor | bilinear | budget-bilinear +Max snow albedo fill option: neighbor # none | neighbor | average +Max snow albedo fill radius: 5 # Number of pixels to search for neighbor +Max snow albedo fill value: 0.3 # Static value to fill where missing +Max snow albedo map projection: latlon + +# Greenness fraction maps: + +Greenness data source: none +Greenness fraction map: ./input/noah_2dparms/gfrac # Greenness fraction map +Greenness climatology interval: monthly # monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/noah_2dparms/gfrac_max.asc # Maximum greenness fraction map +Greenness minimum map: ./input/noah_2dparms/gfrac_min.asc # Minimum greenness fraction map +Greenness spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Greenness fill option: neighbor # none | neighbor | average +Greenness fill radius: 5 # Number of pixels to search for neighbor +Greenness fill value: 0.30 # Static value to fill where missing +Greenness maximum fill value: 0.40 # Static value to fill where missing +Greenness minimum fill value: 0.20 # Static value to fill where missing +Greenness map projection: latlon + +# Slope type map: + +Slope type data source: none +Slope type map: ./input/noah_2dparms/islope # Slope type map +Slope type spatial transform: neighbor # none | neighbor | mode +Slope type fill option: neighbor # none | neighbor +Slope type fill radius: 5 # Number of pixels to search for neighbor +Slope type fill value: 3 # Static value to fill where missing +Slope type map projection: latlon + +# Bottom temperature map (lapse-rate correction option): + +Bottom temperature data source: none +Bottom temperature map: ./input/noah_2dparms/SOILTEMP.60 # Bottom soil temperature file +Bottom temperature topographic downscaling: "lapse-rate" # none | lapse-rate +Bottom temperature spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Bottom temperature fill option: average # none | average | neighbor +Bottom temperature fill radius: 5 # Number of pixels to search for neighbor +Bottom temperature fill value: 287. # Static value to fill where missing +Bottom temperature map projection: latlon # Projection type + +# Noah-MP Specific Parameters: + +Noah-MP PBL Height Value: 900. # Planetary Boundary layer height (in meters) + +# --------------------------------------------------------------------- + +### RIVER ROUTING PARAMETERS +HYMAP river width map: ./HyMAP_5KM/lis_rivwth_0050.bin +HYMAP river height map: ./HyMAP_5KM/lis_rivhgt_0050.bin +HYMAP river roughness map: ./HyMAP_5KM/lis_rivman_0050.bin +HYMAP floodplain roughness map: ./HyMAP_5KM/lis_fldman_0050.bin +HYMAP river length map: ./HyMAP_5KM/lis_rivlen_0050.bin +HYMAP floodplain height map: ./HyMAP_5KM/lis_fldhgt_0050.bin +HYMAP floodplain height levels: 10 +HYMAP flow direction x map: ./HyMAP_5KM/lis_nextx_0050.bin +HYMAP flow direction y map: ./HyMAP_5KM/lis_nexty_0050.bin +HYMAP grid elevation map: ./HyMAP_5KM/lis_elevtn_0050.bin +HYMAP grid distance map: ./HyMAP_5KM/lis_nxtdst_0050.bin +HYMAP grid area map: ./HyMAP_5KM/lis_grarea_0050.bin +HYMAP runoff time delay map: ./HyMAP_5KM/lis_getirana_paiva_0050.bin +HYMAP runoff time delay multiplier map: ./HyMAP_5KM/lis_trunoff_0050.bin +HYMAP baseflow time delay map: ./HyMAP_5KM/lis_tbasflw_0050.bin +HYMAP basin mask map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP drainage area map: ./HyMAP_5KM/lis_uparea_0050.bin +HYMAP basin map: ./HyMAP_5KM/lis_basin_0050.bin +HYMAP river flow type map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP baseflow dwi ratio map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP runoff dwi ratio map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP params spatial transform: none +HYMAP params map projection: latlon +HYMAP params lower left lat: 24.875 +HYMAP params lower left lon: -179.625 +HYMAP params upper right lat: 83.875 +HYMAP params upper right lon: -51.875 +HYMAP params resolution (dx): 0.05 +HYMAP params resolution (dy): 0.05 + +# --------------------------------------------------------------------- + +### Crop information (used also in conjuction with irrigation modeling) + +Incorporate crop information: .false. # Option to modify LSM parameters if crop info present + +Crop classification: "none" # Crop classifications: + # "FAOSTAT01" (Leff et al.,2004; + # "CROPMAP" (Ozdogan etal.,2010); + # "FAOSTAT05" (Monfreda et al.,2008); +#Crop library directory: "./LS_PARAMETERS/crop_params/Crop.Library.Files/" + +Assign crop value type: "none" # Assign: "none", "single", "multiple" crop values +Default crop type: "maize" # "maize", "millet", etc. + +Crop type data source: "none" # UMDCROPMAP, Monfreda08, CONSTANT +#Crop type file: "./LS_PARAMETERS/crop_params/Monfreda_175Crops/Crops/" +Crop map spatial transform: "average" # Upscale +#Crop map spatial transform: "neighbor" # Downscale + +### Irrigation Maps: + +# GRIPC: +Irrigation fraction data source: "none" +#Irrigation fraction map: ./LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation fraction spatial transform: average +Irrigation type data source: "none" +#Irrigation type map: ./LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation type spatial transform: tile + + +# --------------------------------------------------------------------- +MERRA2 forcing directory: ../MET_FORCING/MERRA2/ +MERRA2 use lowest model level forcing: 1 +MERRA2 use corrected total precipitation: 1 +MERRA2 geopotential terrain height file: ../MET_FORCING/MERRA2/MERRA2_100/MERRA2_101.const_2d_asm_Nx.00000000.nc4 + +PPT climatology data source: none +PPT climatology maps: ./input/climate_maps/WorldClim/prec/prec_ +PPT climatology interval: monthly +Climate params spatial transform: average + + +Starting year: 2020 +Starting month: 2 +Starting day: 1 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2020 +Ending month: 3 +Ending day: 1 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +LIS output timestep: "1da" +Temporal averaging interval: "1da" +Number of ensembles per tile: 1 + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +Observation simulator nature run source: 'LIS output' +Observation simulator OSSE mask source: 'AMSR2' +Observation simulator type of temporal transform: 'instantaneous' +Observation simulator masking model type: 'time-varying' +Observation simulator mask data directory: ./input/DOMAINMASK.nc +Observation simulator number of simulated variables: 2 +Observation simulator simulated variables: 'SWE_tavg' 'SWE_inst' +Observation simulator simulated variable minimum values: 0.0 0.0 +Observation simulator simulated variable maximum values: 10000.0 10000.0 +Observation simulator error model type: 'additive' 'additive' +Observation simulator error distribution type: 'gaussian' 'gaussian' +Observation simulator error standard deviation: 5.0 5.0 + + +LIS Nature run output model class: "SURFACEMODEL" +LIS Nature run output model name: "Noah-MP.3.6" +LIS Nature run output directory: ./input/Run_NR/OUTPUT_multiyearcal +LIS Nature run output format: "netcdf" +LIS Nature run output methodology: "2d gridspace" +LIS Nature run output naming style: "3 level hierarchy" +LIS Nature run output nest index: 1 +LIS Nature run output map projection: "latlon" +LIS Nature run domain lower left lat: 37.525 +LIS Nature run domain upper right lat: 40.715 +LIS Nature run domain lower left lon: -108.565 +LIS Nature run domain upper right lon: -105.025 +LIS Nature run domain resolution (dx): 0.01 +LIS Nature run domain resolution (dy): 0.01 + +AMSR2 OSSE mask directory: ./input/Masks/AMSR2/ +AMSR2 OSSE mask data resolution (km): 25 diff --git a/ldt/testcases/ObsSimtests/ObsSimTSMMtest/README b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/README new file mode 100644 index 000000000..cbaef5b2f --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/README @@ -0,0 +1,24 @@ +TSMM Observation Simulator Test Case + +This LDT test case generates synthetic observations of TSMM using LDT's +"Observation Simulation" runmode. This feature is intended for OSSE experiments. + +This simulator can handle the use of external orbital masks to be applied to +the observations created for OSSEs. Currently, AMSR2, TSMM, Sentinel-1A, +and MODIS are available instrumental options. + +This directory contains: + +* this README file. +* the ldt.config file used for this testcase. + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and sample input data. +* View the output using ncview. + + +Notes: +This feature was added in pull request #867: +https://github.com/nasa-lis/lisf/pull/867 diff --git a/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input.ctl b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input.ctl new file mode 100644 index 000000000..37e22fcc9 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input.ctl @@ -0,0 +1,15 @@ +dset ^OUTPUT/%y4%m2/SimObs_%y4%m2%d20000.nc +dtype netcdf +options template +undef -9999 +xdef 355 linear -108.565 0.01 +ydef 320 linear 37.525 0.01 +zdef 1 linear 1 1 +* dummy tdef +tdef 29 linear 00z02feb2020 1dy +vars 4 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +SWE_tavg=>SWE_TAVG 1 y,x description +SWE_inst=>SWE_INST 1 y,x description +endvars diff --git a/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input_testcase.ctl b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input_testcase.ctl new file mode 100644 index 000000000..9f06b8971 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/input_testcase.ctl @@ -0,0 +1,15 @@ +dset ^TARGET_OUTPUT/%y4%m2/SimObs_%y4%m2%d20000.nc +dtype netcdf +options template +undef -9999 +xdef 355 linear -108.565 0.01 +ydef 320 linear 37.525 0.01 +zdef 1 linear 1 1 +* dummy tdef +tdef 29 linear 00z02feb2020 1dy +vars 4 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +SWE_tavg=>SWE_TAVG 1 y,x description +SWE_inst=>SWE_INST 1 y,x description +endvars diff --git a/ldt/testcases/ObsSimtests/ObsSimTSMMtest/ldt.config b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/ldt.config new file mode 100644 index 000000000..ffdac8df9 --- /dev/null +++ b/ldt/testcases/ObsSimtests/ObsSimTSMMtest/ldt.config @@ -0,0 +1,355 @@ + +# == LDT Main Entry Options == + +LDT running mode: "Observation simulator" # LDT type of run-mode (top-level option) + +Processed LSM parameter filename: ./lis_input.d01.nc # Final output file read by LIS-7 + +LIS number of nests: 1 # Total number of nests run by LIS +Number of surface model types: 1 # Total number of desired surface model types +Surface model types: "LSM" "Glacier" # Surface models: LSM | Openwater | Glacier +Land surface model: "Noah-MP.3.6" # Enter LSM(s) of choice +Routing model: "none" +Lake model: "none" # Enter Lake model(s) of choice + +Water fraction cutoff value: 0.5 # Fraction at which gridcell is designated as 'water +Glacier fraction cutoff value: 0.2 + +Number of met forcing sources: 0 # Enter number of forcing types +Met forcing sources: "MERRA2" # Enter 'none' if no forcing selected +Blending method for forcings: "overlay" +Met spatial transform methods: "bilinear" # bilinear | budget-bilinear | neighbor | average +Topographic correction method (met forcing): "lapse-rate" # none | lapse-rate + +LDT diagnostic file: ldtlog # Log-based diagnostic output file +Undefined value: -9999.0 # Universal undefined value +LDT output directory: OUTPUT # If metrics or stats are written out +Number of ensembles per tile: 1 # The number of ensemble members per tile + +# Processor layout + +Number of processors along x: 2 +Number of processors along y: 2 + +# LIS domain: (See LDT User's Guide for other projection information) + +Map projection of the LIS domain: latlon +Run domain lower left lat: 37.525 +Run domain lower left lon: -108.565 +Run domain upper right lat: 40.715 +Run domain upper right lon: -105.025 +Run domain resolution (dx): 0.01 +Run domain resolution (dy): 0.01 + +# Glacier + +Glacier mask data source: "GLIMS" "MODIS_Native" +Glacier mask map: ./input/LS_PARAMETERS/GLIMS/glims_global.d01.nc +Glacier mask spatial transform: average +Glacier mask map projection: latlon +Glacier mask lower left lat: -89.995 +Glacier mask lower left lon: -179.995 +Glacier mask upper right lat: 89.995 +Glacier mask upper right lon: 179.995 +Glacier mask resolution (dx): 0.01 +Glacier mask resolution (dy): 0.01 + +# == Landcover, Landmask and Soil Texture Parameters == + +# Landcover/Mask Parameter Inputs + +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" # Enter land cover classification type +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin # Landcover map path +Landcover spatial transform: tile # none | mode | neighbor | tile +Landcover fill option: none # none | neighbor (Not needed if creating landmask) +Landcover map projection: latlon + +# Create landmask field from readin landcover map or read in separate landmask file +Create or readin landmask: "create" # create | readin +Landmask data source: "MODIS_Native" # If 'created', recommended to put Landcover source name here +Landmask file: none # Land mask file (if needed to be read-in) +Landmask spatial transform: none # none | mode | neighbor + +# Soil fraction +Soil fraction data source: none +Soil fraction number of bands: 1 +Sand fraction map: ./input/soil_parms/ISRIC/download/SNDPPT_M_sl1_250m_ll.tif +Clay fraction map: ./input/soil_parms/ISRIC/download/CLYPPT_M_sl1_250m_ll.tif +Silt fraction map: ./input/soil_parms/ISRIC/downlad/SLTPPT_M_sl1_250m_ll.tif +Soils spatial transform: average +Soils fill option: none +Soils map projection: latlon +Soils lower left lat: -56.008104 +Soils lower left lon: -180.00 +Soils upper right lat: 83.9991672 +Soils upper right lon: 179.9999424 +Soils resolution (dx): 0.0020833 +Soils resolution (dy): 0.0020833 + +#Soil texture map: +Soil texture data source: none +Soil texture map: ./input/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture map projection: latlon +Soil texture lower left lat: -56.008104 +Soil texture lower left lon: -180.00 +Soil texture upper right lat: 83.9991672 +Soil texture upper right lon: 179.9999424 +Soil texture resolution (dx): 0.0020833 +Soil texture resolution (dy): 0.0020833 + + +#Soil texture map: +#Soil texture data source: STATSGOFAO_Native +#Soil texture map: ./input/noah_2dparms/topsoil30snew # Enter soil texture map +#Soil texture spatial transform: mode # none | mode | neighbor | tile +#Soil texture fill option: neighbor # none | neighbor +#Soil texture fill radius: 5 # Number of pixels to search for neighbor +#Soil texture fill value: 6 # Static value to fill where missing +#Soil texture map projection: latlon + +Soils spatial transform: none # Note: do not use mode with soil fractions +Soils map projection: latlon + +# SRTM Elevation data entries: +Elevation data source: "none" +Elevation map: ./input/topo_parms/SRTM/SRTM30/srtm_elev1km.1gd4r +Elevation number of bands: 1 +Slope data source: "none" +Slope map: ./input/topo_parms/SRTM/SRTM30/srtm_slope1km.1gd4r +Slope number of bands: 1 +Aspect data source: "none" +Aspect map: ./input/topo_parms/SRTM/SRTM30/srtm_aspect1km.1gd4r +Aspect number of bands: 1 + +#Elevation data source: "SRTM_Native" +#Elevation map: ./input/topo_parms/SRTM/SRTM30/raw/ +#Elevation number of bands: 1 +#Slope data source: "SRTM_Native" +#Slope map: ./input/topo_parms/SRTM/SRTM30/raw/ +#Slope number of bands: 1 +#Aspect data source: "SRTM_Native" +#Aspect map: ./input/topo_parms/SRTM/SRTM30/raw/ +#Aspect number of bands: 1 + +Topography spatial transform: average +Elevation fill option: average +Elevation fill radius: 5 +Elevation fill value: 0 +Slope fill option: average +Slope fill radius: 5 +Slope fill value: 0.1 +Aspect fill option: average +Aspect fill radius: 5 +Aspect fill value: 0 + +Topography map projection: latlon +Topography lower left lat: -59.995 +Topography lower left lon: -179.995 +Topography upper right lat: 89.995 +Topography upper right lon: 179.995 +Topography resolution (dx): 0.01 +Topography resolution (dy): 0.01 + +# == Main Noah LSM Parameters == + +# Albedo maps: + +Albedo data source: none +Albedo map: ./input/noah_2dparms/albedo # Albedo files +Albedo climatology interval: monthly # monthly | quarterly +Albedo spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Albedo fill option: neighbor # none | neighbor | average +Albedo fill radius: 5 # Number of pixels to search for neighbor +Albedo fill value: 0.14 # Static value to fill where missing +Albedo map projection: latlon + +Max snow albedo data source: none +Max snow albedo map: ./input/noah_2dparms/maxsnoalb.asc # Max. snow albedo map +Max snow albedo spatial transform: budget-bilinear # average | neighbor | bilinear | budget-bilinear +Max snow albedo fill option: neighbor # none | neighbor | average +Max snow albedo fill radius: 5 # Number of pixels to search for neighbor +Max snow albedo fill value: 0.3 # Static value to fill where missing +Max snow albedo map projection: latlon + +# Greenness fraction maps: + +Greenness data source: none +Greenness fraction map: ./input/noah_2dparms/gfrac # Greenness fraction map +Greenness climatology interval: monthly # monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/noah_2dparms/gfrac_max.asc # Maximum greenness fraction map +Greenness minimum map: ./input/noah_2dparms/gfrac_min.asc # Minimum greenness fraction map +Greenness spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Greenness fill option: neighbor # none | neighbor | average +Greenness fill radius: 5 # Number of pixels to search for neighbor +Greenness fill value: 0.30 # Static value to fill where missing +Greenness maximum fill value: 0.40 # Static value to fill where missing +Greenness minimum fill value: 0.20 # Static value to fill where missing +Greenness map projection: latlon + +# Slope type map: + +Slope type data source: none +Slope type map: ./input/noah_2dparms/islope # Slope type map +Slope type spatial transform: neighbor # none | neighbor | mode +Slope type fill option: neighbor # none | neighbor +Slope type fill radius: 5 # Number of pixels to search for neighbor +Slope type fill value: 3 # Static value to fill where missing +Slope type map projection: latlon + +# Bottom temperature map (lapse-rate correction option): + +Bottom temperature data source: none +Bottom temperature map: ./input/noah_2dparms/SOILTEMP.60 # Bottom soil temperature file +Bottom temperature topographic downscaling: "lapse-rate" # none | lapse-rate +Bottom temperature spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Bottom temperature fill option: average # none | average | neighbor +Bottom temperature fill radius: 5 # Number of pixels to search for neighbor +Bottom temperature fill value: 287. # Static value to fill where missing +Bottom temperature map projection: latlon # Projection type + +# Noah-MP Specific Parameters: + +Noah-MP PBL Height Value: 900. # Planetary Boundary layer height (in meters) + +# --------------------------------------------------------------------- + +### RIVER ROUTING PARAMETERS +HYMAP river width map: ./HyMAP_5KM/lis_rivwth_0050.bin +HYMAP river height map: ./HyMAP_5KM/lis_rivhgt_0050.bin +HYMAP river roughness map: ./HyMAP_5KM/lis_rivman_0050.bin +HYMAP floodplain roughness map: ./HyMAP_5KM/lis_fldman_0050.bin +HYMAP river length map: ./HyMAP_5KM/lis_rivlen_0050.bin +HYMAP floodplain height map: ./HyMAP_5KM/lis_fldhgt_0050.bin +HYMAP floodplain height levels: 10 +HYMAP flow direction x map: ./HyMAP_5KM/lis_nextx_0050.bin +HYMAP flow direction y map: ./HyMAP_5KM/lis_nexty_0050.bin +HYMAP grid elevation map: ./HyMAP_5KM/lis_elevtn_0050.bin +HYMAP grid distance map: ./HyMAP_5KM/lis_nxtdst_0050.bin +HYMAP grid area map: ./HyMAP_5KM/lis_grarea_0050.bin +HYMAP runoff time delay map: ./HyMAP_5KM/lis_getirana_paiva_0050.bin +HYMAP runoff time delay multiplier map: ./HyMAP_5KM/lis_trunoff_0050.bin +HYMAP baseflow time delay map: ./HyMAP_5KM/lis_tbasflw_0050.bin +HYMAP basin mask map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP drainage area map: ./HyMAP_5KM/lis_uparea_0050.bin +HYMAP basin map: ./HyMAP_5KM/lis_basin_0050.bin +HYMAP river flow type map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP baseflow dwi ratio map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP runoff dwi ratio map: ./HyMAP_5KM/lis_mask_0050.bin +HYMAP params spatial transform: none +HYMAP params map projection: latlon +HYMAP params lower left lat: 24.875 +HYMAP params lower left lon: -179.625 +HYMAP params upper right lat: 83.875 +HYMAP params upper right lon: -51.875 +HYMAP params resolution (dx): 0.05 +HYMAP params resolution (dy): 0.05 + +# --------------------------------------------------------------------- + +### Crop information (used also in conjuction with irrigation modeling) + +Incorporate crop information: .false. # Option to modify LSM parameters if crop info present + +Crop classification: "none" # Crop classifications: + # "FAOSTAT01" (Leff et al.,2004; + # "CROPMAP" (Ozdogan etal.,2010); + # "FAOSTAT05" (Monfreda et al.,2008); +#Crop library directory: "./LS_PARAMETERS/crop_params/Crop.Library.Files/" + +Assign crop value type: "none" # Assign: "none", "single", "multiple" crop values +Default crop type: "maize" # "maize", "millet", etc. + +Crop type data source: "none" # UMDCROPMAP, Monfreda08, CONSTANT +#Crop type file: "./LS_PARAMETERS/crop_params/Monfreda_175Crops/Crops/" +Crop map spatial transform: "average" # Upscale +#Crop map spatial transform: "neighbor" # Downscale + +### Irrigation Maps: + +# GRIPC: +Irrigation fraction data source: "none" +#Irrigation fraction map: ./LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation fraction spatial transform: average +Irrigation type data source: "none" +#Irrigation type map: ./LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation type spatial transform: tile + + +# --------------------------------------------------------------------- +MERRA2 forcing directory: ../MET_FORCING/MERRA2/ +MERRA2 use lowest model level forcing: 1 +MERRA2 use corrected total precipitation: 1 +MERRA2 geopotential terrain height file: ../MET_FORCING/MERRA2/MERRA2_100/MERRA2_101.const_2d_asm_Nx.00000000.nc4 + +PPT climatology data source: none +PPT climatology maps: ./input/climate_maps/WorldClim/prec/prec_ +PPT climatology interval: monthly +Climate params spatial transform: average + + +Starting year: 2020 +Starting month: 2 +Starting day: 1 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2020 +Ending month: 3 +Ending day: 1 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +LIS output timestep: "1da" +Temporal averaging interval: "1da" +Number of ensembles per tile: 1 + +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +Observation simulator nature run source: 'LIS output' +Observation simulator OSSE mask source: 'TSMM' +Observation simulator type of temporal transform: 'instantaneous' +Observation simulator masking model type: 'time-varying' +Observation simulator mask data directory: ./input/DOMAINMASK.nc +Observation simulator number of simulated variables: 2 +Observation simulator simulated variables: 'SWE_tavg' 'SWE_inst' +Observation simulator simulated variable minimum values: 0.0 0.0 +Observation simulator simulated variable maximum values: 10000.0 10000.0 +Observation simulator error model type: 'additive' 'additive' +Observation simulator error distribution type: 'gaussian' 'gaussian' +Observation simulator error standard deviation: 5.0 5.0 + + +LIS Nature run output model class: "SURFACEMODEL" +LIS Nature run output model name: "Noah-MP.3.6" +LIS Nature run output directory: ./input/Run_NR/OUTPUT_multiyearcal +LIS Nature run output format: "netcdf" +LIS Nature run output methodology: "2d gridspace" +LIS Nature run output naming style: "3 level hierarchy" +LIS Nature run output nest index: 1 +LIS Nature run output map projection: "latlon" +LIS Nature run domain lower left lat: 37.525 +LIS Nature run domain upper right lat: 40.715 +LIS Nature run domain lower left lon: -108.565 +LIS Nature run domain upper right lon: -105.025 +LIS Nature run domain resolution (dx): 0.01 +LIS Nature run domain resolution (dy): 0.01 + +TSMM OSSE mask directory: ./input/Masks/TSMM/ +TSMM OSSE mask data resolution (km): 1 diff --git a/ldt/testcases/crocusGlacierFrac/README b/ldt/testcases/crocusGlacierFrac/README new file mode 100644 index 000000000..f2d5e981b --- /dev/null +++ b/ldt/testcases/crocusGlacierFrac/README @@ -0,0 +1,23 @@ +The Crocus Glacier fraction LDT Test Case + +This testcase computes the glacier fraction and tests LDT features that are part of the wider implementation of Crocus into the LIS framework. + +This directory contains: + +* this README file. +* the ldt.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) i +* The input.ctl GrADS descriptor file for viewing the input parameter file. +* plot.gs + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and the sample + input data. + +Notes: + +This feature was added in pull request #694 +(https://github.com/NASA-LIS/LISF/pull/694). diff --git a/ldt/testcases/crocusGlacierFrac/input.ctl b/ldt/testcases/crocusGlacierFrac/input.ctl new file mode 100644 index 000000000..84504bbbb --- /dev/null +++ b/ldt/testcases/crocusGlacierFrac/input.ctl @@ -0,0 +1,118 @@ +dset ^lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 685 linear 66.775 0.05 +ydef 405 linear 20.775 0.05 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 107 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +SURFACETYPE=>SURFACETYPE15 0 14,y,x description +SURFACETYPE=>SURFACETYPE16 0 15,y,x description +SURFACETYPE=>SURFACETYPE17 0 16,y,x description +SURFACETYPE=>SURFACETYPE18 0 17,y,x description +SURFACETYPE=>SURFACETYPE19 0 18,y,x description +SURFACETYPE=>SURFACETYPE20 0 19,y,x description +SURFACETYPE=>SURFACETYPE21 0 20,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +LANDCOVER=>LANDCOVER15 0 14,y,x description +LANDCOVER=>LANDCOVER16 0 15,y,x description +LANDCOVER=>LANDCOVER17 0 16,y,x description +LANDCOVER=>LANDCOVER18 0 17,y,x description +LANDCOVER=>LANDCOVER19 0 18,y,x description +LANDCOVER=>LANDCOVER20 0 19,y,x description +LANDCOVER=>LANDCOVER21 0 20,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +SLOPEFGRD=>SLOPEFGRD 1 y,x description +SLOPE=>SLOPE 1 y,x description +ASPECTFGRD=>ASPECTFGRD 1 y,x description +ASPECT=>ASPECT 1 y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +SLOPETYPE=>SLOPETYPE 1 y,x description +NOAHMP36_PBLH=>NOAHMP36_PBLH 1 y,x description +GLACIERFRAC=>GLACIERFRAC 1 y,x description +ELEV_ECMWF_S23R4=>ELEV_ECMWF_S23R4 1 y,x description +ELEV_ECMWF_S25R1=>ELEV_ECMWF_S25R1 1 y,x description +ELEV_ECMWF_S30R1=>ELEV_ECMWF_S30R1 1 y,x description +ELEV_ECMWF_S33R1=>ELEV_ECMWF_S33R1 1 y,x description +ELEV_ECMWF_S35R2=>ELEV_ECMWF_S35R2 1 y,x description +ELEV_ECMWF_S35R3=>ELEV_ECMWF_S35R3 1 y,x description +ELEV_ECMWF_S36R1=>ELEV_ECMWF_S36R1 1 y,x description +ELEV_ECMWF_S37R2=>ELEV_ECMWF_S37R2 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/crocusGlacierFrac/input_testcase.ctl b/ldt/testcases/crocusGlacierFrac/input_testcase.ctl new file mode 100644 index 000000000..9c4ecde5a --- /dev/null +++ b/ldt/testcases/crocusGlacierFrac/input_testcase.ctl @@ -0,0 +1,118 @@ +dset ^TARGET_OUTPUT/lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 685 linear 66.775 0.05 +ydef 405 linear 20.775 0.05 +zdef 1 linear 1 1 +* dummy tdef +tdef 1 linear 00z01jan2012 1hr +vars 107 +DOMAINMASK=>DOMAINMASK 1 y,x description +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +SURFACETYPE=>SURFACETYPE15 0 14,y,x description +SURFACETYPE=>SURFACETYPE16 0 15,y,x description +SURFACETYPE=>SURFACETYPE17 0 16,y,x description +SURFACETYPE=>SURFACETYPE18 0 17,y,x description +SURFACETYPE=>SURFACETYPE19 0 18,y,x description +SURFACETYPE=>SURFACETYPE20 0 19,y,x description +SURFACETYPE=>SURFACETYPE21 0 20,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +LANDCOVER=>LANDCOVER15 0 14,y,x description +LANDCOVER=>LANDCOVER16 0 15,y,x description +LANDCOVER=>LANDCOVER17 0 16,y,x description +LANDCOVER=>LANDCOVER18 0 17,y,x description +LANDCOVER=>LANDCOVER19 0 18,y,x description +LANDCOVER=>LANDCOVER20 0 19,y,x description +LANDCOVER=>LANDCOVER21 0 20,y,x description +TEXTURE=>TEXTURE1 0 0,y,x description +TEXTURE=>TEXTURE2 0 1,y,x description +TEXTURE=>TEXTURE3 0 2,y,x description +TEXTURE=>TEXTURE4 0 3,y,x description +TEXTURE=>TEXTURE5 0 4,y,x description +TEXTURE=>TEXTURE6 0 5,y,x description +TEXTURE=>TEXTURE7 0 6,y,x description +TEXTURE=>TEXTURE8 0 7,y,x description +TEXTURE=>TEXTURE9 0 8,y,x description +TEXTURE=>TEXTURE10 0 9,y,x description +TEXTURE=>TEXTURE11 0 10,y,x description +TEXTURE=>TEXTURE12 0 11,y,x description +TEXTURE=>TEXTURE13 0 12,y,x description +TEXTURE=>TEXTURE14 0 13,y,x description +TEXTURE=>TEXTURE15 0 14,y,x description +TEXTURE=>TEXTURE16 0 15,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +SLOPEFGRD=>SLOPEFGRD 1 y,x description +SLOPE=>SLOPE 1 y,x description +ASPECTFGRD=>ASPECTFGRD 1 y,x description +ASPECT=>ASPECT 1 y,x description +GREENNESS=>GREENNESS1 0 0,y,x description +GREENNESS=>GREENNESS2 0 1,y,x description +GREENNESS=>GREENNESS3 0 2,y,x description +GREENNESS=>GREENNESS4 0 3,y,x description +GREENNESS=>GREENNESS5 0 4,y,x description +GREENNESS=>GREENNESS6 0 5,y,x description +GREENNESS=>GREENNESS7 0 6,y,x description +GREENNESS=>GREENNESS8 0 7,y,x description +GREENNESS=>GREENNESS9 0 8,y,x description +GREENNESS=>GREENNESS10 0 9,y,x description +GREENNESS=>GREENNESS11 0 10,y,x description +GREENNESS=>GREENNESS12 0 11,y,x description +SHDMIN=>SHDMIN 1 y,x description +SHDMAX=>SHDMAX 1 y,x description +ALBEDO=>ALBEDO1 0 0,y,x description +ALBEDO=>ALBEDO2 0 1,y,x description +ALBEDO=>ALBEDO3 0 2,y,x description +ALBEDO=>ALBEDO4 0 3,y,x description +ALBEDO=>ALBEDO5 0 4,y,x description +ALBEDO=>ALBEDO6 0 5,y,x description +ALBEDO=>ALBEDO7 0 6,y,x description +ALBEDO=>ALBEDO8 0 7,y,x description +ALBEDO=>ALBEDO9 0 8,y,x description +ALBEDO=>ALBEDO10 0 9,y,x description +ALBEDO=>ALBEDO11 0 10,y,x description +ALBEDO=>ALBEDO12 0 11,y,x description +MXSNALBEDO=>MXSNALBEDO 1 y,x description +TBOT=>TBOT 1 y,x description +SLOPETYPE=>SLOPETYPE 1 y,x description +NOAHMP36_PBLH=>NOAHMP36_PBLH 1 y,x description +GLACIERFRAC=>GLACIERFRAC 1 y,x description +ELEV_ECMWF_S23R4=>ELEV_ECMWF_S23R4 1 y,x description +ELEV_ECMWF_S25R1=>ELEV_ECMWF_S25R1 1 y,x description +ELEV_ECMWF_S30R1=>ELEV_ECMWF_S30R1 1 y,x description +ELEV_ECMWF_S33R1=>ELEV_ECMWF_S33R1 1 y,x description +ELEV_ECMWF_S35R2=>ELEV_ECMWF_S35R2 1 y,x description +ELEV_ECMWF_S35R3=>ELEV_ECMWF_S35R3 1 y,x description +ELEV_ECMWF_S36R1=>ELEV_ECMWF_S36R1 1 y,x description +ELEV_ECMWF_S37R2=>ELEV_ECMWF_S37R2 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/ldt/testcases/crocusGlacierFrac/ldt.config b/ldt/testcases/crocusGlacierFrac/ldt.config new file mode 100644 index 000000000..a822fc35d --- /dev/null +++ b/ldt/testcases/crocusGlacierFrac/ldt.config @@ -0,0 +1,300 @@ + +# == LDT Main Entry Options == + +LDT running mode: "LSM parameter processing" # LDT type of run-mode (top-level option) + +Processed LSM parameter filename: ./lis_input.d01.nc # Final output file read by LIS-7 + +LIS number of nests: 1 # Total number of nests run by LIS +Number of surface model types: 2 # Total number of desired surface model types +Surface model types: "LSM" "Glacier" # Surface models: LSM | Openwater +Land surface model: "Noah-MP.3.6" # Enter LSM(s) of choice +Routing model: "none" # "HYMAP2" +Lake model: "none" # Enter Lake model(s) of choice +Water fraction cutoff value: 0.5 # Fraction at which gridcell is designated as 'water +Glacier fraction cutoff value: 0.2 + +Number of met forcing sources: 1 # Enter number of forcing types +Met forcing sources: "ECMWF" # "MERRA2" # "ECMWF" # Enter 'none' if no forcing selected +Blending method for forcings: "overlay" +Met spatial transform methods: "bilinear" # bilinear | budget-bilinear | neighbor | average +Topographic correction method (met forcing): "lapse-rate" # none | lapse-rate + +LDT diagnostic file: ldtlog # Log-based diagnostic output file +Undefined value: -9999.0 # Universal undefined value +LDT output directory: OUTPUT.test.glacier.frac # If metrics or stats are written out +Number of ensembles per tile: 1 # The number of ensemble members per tile + +# Processor layout +Number of processors along x: 2 +Number of processors along y: 2 + +# LIS domain: (See LDT User's Guide for other projection information) +Map projection of the LIS domain: latlon +Run domain lower left lat: 20.775 #6.025 +Run domain lower left lon: 66.775 #60.025 +Run domain upper right lat: 40.975 #39.975 +Run domain upper right lon: 100.975 #99.975 +Run domain resolution (dx): 0.05 +Run domain resolution (dy): 0.05 + +# == Landcover, Landmask and Soil Texture Parameters == + +# Glacier +Glacier mask data source: "GLIMS" "MODIS_Native" +Glacier mask map: ./input/LS_PARAMETERS/GLIMS/glims_global.d01.nc +Glacier mask spatial transform: average +Glacier mask map projection: latlon +Glacier mask lower left lat: -89.995 +Glacier mask lower left lon: -179.995 +Glacier mask upper right lat: 89.995 +Glacier mask upper right lon: 179.995 +Glacier mask resolution (dx): 0.01 +Glacier mask resolution (dy): 0.01 + +# Landcover/Mask Parameter Inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" # Enter land cover classification type +Landcover file: ./input/LS_PARAMETERS/noah_2dparms/igbp.bin # Landcover map path +Landcover spatial transform: tile # none | mode | neighbor | tile +Landcover fill option: none # none | neighbor (Not needed if creating landmask) +Landcover map projection: latlon + +# Create landmask field from readin landcover map or read in separate landmask file +Create or readin landmask: "create" # create | readin +Landmask data source: "MODIS_Native" # If 'created', recommended to put Landcover source name here +Landmask file: none # Land mask file (if needed to be read-in) +Landmask spatial transform: none # none | mode | neighbor + +Soil fraction data source: none +Soil fraction number of bands: 1 +Sand fraction map: ./input/LS_PARAMETERS/soil_parms/ISRIC/download/SNDPPT_M_sl1_250m_ll.tif +Clay fraction map: ./input/LS_PARAMETERS/soil_parms/ISRIC/download/CLYPPT_M_sl1_250m_ll.tif +Silt fraction map: ./input/LS_PARAMETERS/soil_parms/ISRIC/downlad/SLTPPT_M_sl1_250m_ll.tif +Soils spatial transform: average +Soils fill option: none +Soils map projection: latlon +Soils lower left lat: -56.008104 +Soils lower left lon: -180.00 +Soils upper right lat: 83.9991672 +Soils upper right lon: 179.9999424 +Soils resolution (dx): 0.0020833 +Soils resolution (dy): 0.0020833 + +#Soil texture map: +Soil texture data source: ISRIC +Soil texture map: ./input/LS_PARAMETERS/soil_parms/ISRIC/v2017/TEXMHT_M_sl1_250m.tif # v2017 file +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture map projection: latlon + +# SRTM Elevation data entries: +Elevation data source: "SRTM_Native" +Elevation map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/raw/ +Elevation number of bands: 1 +Slope data source: "SRTM_Native" +Slope map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/raw/ +Slope number of bands: 1 +Aspect data source: "SRTM_Native" +Aspect map: ./input/LS_PARAMETERS/topo_parms/SRTM/SRTM30/raw/ +Aspect number of bands: 1 +Topography spatial transform: bilinear +Elevation fill option: average +Elevation fill radius: 5 +Elevation fill value: 0 +Slope fill option: average +Slope fill radius: 5 +Slope fill value: 0 +Aspect fill option: average +Aspect fill radius: 5 +Aspect fill value: 0 +Topography map projection: latlon + +# == Main Noah LSM Parameters == + +# Albedo maps: +Albedo data source: NCEP_Native +Albedo map: ./input/LS_PARAMETERS/noah_2dparms/albedo # Albedo files +Albedo climatology interval: monthly # monthly | quarterly +Albedo spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Albedo fill option: neighbor # none | neighbor | average +Albedo fill radius: 5 # Number of pixels to search for neighbor +Albedo fill value: 0.14 # Static value to fill where missing +Albedo map projection: latlon + +Max snow albedo data source: NCEP_Native +Max snow albedo map: ./input/LS_PARAMETERS/noah_2dparms/maxsnoalb.asc # Max. snow albedo map +Max snow albedo spatial transform: budget-bilinear # average | neighbor | bilinear | budget-bilinear +Max snow albedo fill option: neighbor # none | neighbor | average +Max snow albedo fill radius: 5 # Number of pixels to search for neighbor +Max snow albedo fill value: 0.3 # Static value to fill where missing +Max snow albedo map projection: latlon + +# Greenness fraction maps: +Greenness data source: NCEP_Native +Greenness fraction map: ./input/LS_PARAMETERS/noah_2dparms/gfrac # Greenness fraction map +Greenness climatology interval: monthly # monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_max.asc # Maximum greenness fraction map +Greenness minimum map: ./input/LS_PARAMETERS/noah_2dparms/gfrac_min.asc # Minimum greenness fraction map +Greenness spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Greenness fill option: neighbor # none | neighbor | average +Greenness fill radius: 5 # Number of pixels to search for neighbor +Greenness fill value: 0.30 # Static value to fill where missing +Greenness maximum fill value: 0.40 # Static value to fill where missing +Greenness minimum fill value: 0.20 # Static value to fill where missing +Greenness map projection: latlon + +# Slope type map: +Slope type data source: NCEP_Native +Slope type map: ./input/LS_PARAMETERS/noah_2dparms/islope # Slope type map +Slope type spatial transform: neighbor # none | neighbor | mode +Slope type fill option: neighbor # none | neighbor +Slope type fill radius: 5 # Number of pixels to search for neighbor +Slope type fill value: 3. # Static value to fill where missing +Slope type map projection: latlon + +# Bottom temperature map (lapse-rate correction option): +Bottom temperature data source: ISLSCP1 +Bottom temperature map: ./input/LS_PARAMETERS/noah_2dparms/SOILTEMP.60 # Bottom soil temperature file +Bottom temperature topographic downscaling: "lapse-rate" # none | lapse-rate +Bottom temperature spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Bottom temperature fill option: average # none | average | neighbor +Bottom temperature fill radius: 5 # Number of pixels to search for neighbor +Bottom temperature fill value: 287. # Static value to fill where missing +Bottom temperature map projection: latlon # Projection type + +# Noah-MP Specific Parameters: + +Noah-MP PBL Height Value: 900. # Planetary Boundary layer height (in meters) + +# --------------------------------------------------------------------- + + +#HYMAP river height map: ./HYMAP2_parms/lis_rivhgt_005.bin +#HYMAP river roughness map: ./HYMAP2_parms/lis_rivman_005.bin +#HYMAP floodplain roughness map: ./HYMAP2_parms/lis_fldman_005.bin +#HYMAP river length map: ./HYMAP2_parms/lis_rivlen_005.bin +#HYMAP floodplain height map: ./HYMAP2_parms/lis_fldhgt_005.bin +#HYMAP floodplain height levels: 10 +#HYMAP flow direction x map: ./HYMAP2_parms/lis_nextx_005.bin +#HYMAP flow direction y map: ./HYMAP2_parms/lis_nexty_005.bin +#HYMAP grid elevation map: ./HYMAP2_parms/lis_elevtn_005.bin +#HYMAP grid distance map: ./HYMAP2_parms/lis_nxtdst_005.bin +#HYMAP grid area map: ./HYMAP2_parms/lis_grarea_005.bin +#HYMAP runoff time delay map: ./HYMAP2_parms/lis_getirana_paiva_005.bin +#HYMAP runoff time delay multiplier map: ./HYMAP2_parms/lis_trunoff_005.bin +#HYMAP baseflow time delay map: ./HYMAP2_parms/lis_tbasflw_005.bin +#HYMAP basin mask map: ./HYMAP2_parms/lis_mask_005.bin +#HYMAP drainage area map: ./HYMAP2_parms/lis_grarea_005.bin +#HYMAP basin map: ./HYMAP2_parms/lis_basin_005.bin +#HYMAP river flow type map: ./HYMAP2_parms/lis_mask_005.bin +#HYMAP baseflow dwi ratio map: ./HYMAP2_parms/lis_mask_005.bin +#HYMAP runoff dwi ratio map: ./HYMAP2_parms/lis_mask_005.bin +#HYMAP params spatial transform: none +#HYMAP params map projection: latlon +#HYMAP params lower left lat: 20.775 +#HYMAP params lower left lon: 66.775 +#HYMAP params upper right lat: 40.975 +#HYMAP params upper right lon: 100.975 +#HYMAP params resolution (dx): 0.05 +#HYMAP params resolution (dy): 0.05 + +# --------------------------------------------------------------------- + +### Crop information (used also in conjuction with irrigation modeling) + +Incorporate crop information: .false. # Option to modify LSM parameters if crop info present +Crop classification: "none" # Crop classifications: + # "FAOSTAT01" (Leff et al.,2004; + # "CROPMAP" (Ozdogan etal.,2010); + # "FAOSTAT05" (Monfreda et al.,2008); +Crop library directory: "./input/LS_PARAMETERS/crop_params/Crop.Library.Files/" + +Assign crop value type: "none" # Assign: "none", "single", "multiple" crop values +Default crop type: "maize" # "maize", "millet", etc. + +Crop type data source: "none" # UMDCROPMAP, Monfreda08, CONSTANT +Crop type file: "./input/LS_PARAMETERS/crop_params/Monfreda_175Crops/Crops/" +Crop map spatial transform: "average" # Upscale +#Crop map spatial transform: "neighbor" # Downscale + +### Irrigation Maps: + +# GRIPC: +Irrigation fraction data source: "none" +Irrigation fraction map: ./input/LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation fraction spatial transform: average +Irrigation type data source: "none" +Irrigation type map: ./input/LS_PARAMETERS/irrigation/global_gripc/irrigtype_salmon2013.flt +Irrigation type spatial transform: tile + + +# --------------------------------------------------------------------- + +### Lake Parameter Maps: + +# FLake Model Parameters: +Lakecover data source: none # GLDBv1 # MN +Lake depth map: ./input/LS_PARAMETERS/inlandwater_parms/GLDBv2/GlobalLakeDepth.dat +Lake depth QC map: ./input/LS_PARAMETERS/inlandwater_parms/GLDBv2/GlobalLakeStatus.dat +Lake params spatial transform: average +Lake wind fetch value: 4000. +Lake bottom sediments depth value: 3.0 +Lake bottom sediments temperature value: 277.13 +# Thermally active layer depth of bottom sediments (m) + +# Inland water body map (GWLD): +Inland waterbody data source: none # GLWD # MN +# Inland lake/wetland map: +Inland waterbody type map: ./input/LS_PARAMETERS/inlandwater_parms/GLWD/rastert_glwd_31.flt +# Spatial transform type for inland water map: +Inland waterbody spatial transform: tile + +# ======================================================= + +#MERRA2 forcing directory: ./MET_FORCING/MERRA2/ +#MERRA2 use lowest model level forcing: 1 +#MERRA2 use corrected total precipitation: 1 +#MERRA2 geopotential terrain height file: ./input/LS_PARAMETERS/metforcing_parms/MERRA2/MERRA2_101.const_2d_asm_Nx.00000000.nc4 # ./MERRA2_101.const_2d_asm_Nx.00000000.nc4 +# +#PPT climatology data source: WORLDCLIM +#PPT climatology maps: ./input/LS_PARAMETERS/climate_maps/WorldClim/prec/prec_ +#PPT climatology interval: monthly +#Climate params spatial transform: average + +ECMWF forcing data directory: ./input/MET_FORCING/ECMWF + +ECMWF IFS23R4 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2001092006.092006.elev_1_4 +ECMWF IFS25R1 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2003010806.010806.elev_1_4 +ECMWF IFS30R1 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2006020106.020106.elev_1_4 +ECMWF IFS33R1 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2008060306.060306.elev_1_4 +ECMWF IFS35R2 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2009031006.031006.elev_1_4 +ECMWF IFS35R3 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2009090806.090806.elev_1_4 +ECMWF IFS36R1 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2010012606.012606.elev_1_4 +ECMWF IFS37R2 elevation map: ./input/LS_PARAMETERS/metforcing_parms/ECMWF/ecmwf.2011051806.051806.elev_1_4 + + +Glacier fraction data source: "GLIMS" +Glacier fraction map: ./input/LS_PARAMETERS/GLIMS/glims_global.d01.nc +Glacier fraction spatial transform: "average" +Glacier fraction map projection: "latlon" +Glacier fraction lower left lat: -89.995 +Glacier fraction lower left lon: -179.995 +Glacier fraction upper right lat: 89.995 +Glacier fraction upper right lon: 179.995 +Glacier fraction resolution (dx): 0.01 +Glacier fraction resolution (dy): 0.01 + + +# TO DO : REMOVE THESE FROM THE READER +#Surface soil temperature: 0 ! MN : For now set the soil temperature to a constant value (e.g., 0) +#Soil thermal conductivity: 0 0 0 0 0 0 0 0 0 0 0 0 ! MN : For now set the soil thermal conductivity to a constant value (e.g., ??) + + + + + + diff --git a/ldt/testcases/crocusGlacierFrac/plot.gs b/ldt/testcases/crocusGlacierFrac/plot.gs new file mode 100644 index 000000000..ee6301600 --- /dev/null +++ b/ldt/testcases/crocusGlacierFrac/plot.gs @@ -0,0 +1,45 @@ +'reinit' +'xdfopen ldt_orig.xdf' +'xdfopen ldt_cro.xdf' + +*'set stat on' +'set gxout grfill' +*'set mpdset mres' +'set grads off' +'set x 1 685' + +'set vpage 0 5.5 4.25 8.5' +'d tbot.1' +'cbar' +'draw title ldt-orig' + +'set vpage 5.5 11 4.25 8.5' +'set grads off' +'set gxout grfill' +'d tbot.2' +'cbar' +'draw title ldt-cro' + +'set vpage 0 5.5 0 4.25' +'set grads off' +'set gxout grfill' +'d tbot.1-tbot.2' +'cbar' +'draw title ldt-orig - ldt-cro' + +'printim ./fig/tbot.png x1200 y900 white' +*'set vpage 5.5 11 0 4.25' +*'set grads off' +*'set gxout scatter' +*'d tbot.1;tbot.2' +*'draw title ldt-orig vs. ldt-cro' +*'draw xlab ldt-orig' +*'draw ylab ldt-cro' + +*say 'Hit enter to continue' +*pull args + + + + + diff --git a/ldt/testcases/irrigreader/README b/ldt/testcases/irrigreader/README new file mode 100644 index 000000000..dd2fbbf11 --- /dev/null +++ b/ldt/testcases/irrigreader/README @@ -0,0 +1,22 @@ +LDT Irrigation Fraction Reader Testcase + +This testcase processes (reads) irrigation fraction data. + +This directory contains: + +* this README file. +* the ldt.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* The input.ctl GrADS descriptor file used to display the input parameter file. + +To run this test case: + +* Generate the LDT executable. +* Run the LDT executable using the ldt.config file and the sample + input data. + +NOTES: + +* This feature was added in pull request #455 + (https://github.com/NASA-LIS/LISF/pull/455) diff --git a/ldt/testcases/irrigreader/input.ctl b/ldt/testcases/irrigreader/input.ctl new file mode 100644 index 000000000..a5f0f1589 --- /dev/null +++ b/ldt/testcases/irrigreader/input.ctl @@ -0,0 +1,125 @@ +netcdf ^lis_input.d01 { +dimensions: + east_west = 381 ; + north_south = 281 ; + east_west_b = 385 ; + north_south_b = 285 ; + time = 1 ; + sfctypes = 20 ; + croptypes = 1 ; +variables: + float time(time) ; + float DOMAINMASK(north_south, east_west) ; + DOMAINMASK:standard_name = "DOMAINMASK" ; + DOMAINMASK:units = "" ; + DOMAINMASK:scale_factor = 1.f ; + DOMAINMASK:add_offset = 0.f ; + DOMAINMASK:missing_value = -9999.f ; + DOMAINMASK:vmin = 0.f ; + DOMAINMASK:vmax = 0.f ; + DOMAINMASK:num_bins = 1 ; + float LANDMASK(north_south, east_west) ; + LANDMASK:standard_name = "LANDMASK" ; + LANDMASK:units = "" ; + LANDMASK:scale_factor = 1.f ; + LANDMASK:add_offset = 0.f ; + LANDMASK:missing_value = -9999.f ; + LANDMASK:vmin = 0.f ; + LANDMASK:vmax = 0.f ; + LANDMASK:num_bins = 1 ; + float SURFACETYPE(sfctypes, north_south, east_west) ; + SURFACETYPE:standard_name = "Surface type" ; + SURFACETYPE:units = "-" ; + SURFACETYPE:scale_factor = 1.f ; + SURFACETYPE:add_offset = 0.f ; + SURFACETYPE:missing_value = -9999.f ; + SURFACETYPE:vmin = 0.f ; + SURFACETYPE:vmax = 0.f ; + SURFACETYPE:num_bins = 20 ; + float LANDCOVER(sfctypes, north_south, east_west) ; + LANDCOVER:standard_name = "MODIS-IGBP (NCEP-modified) landcover map" ; + LANDCOVER:units = "" ; + LANDCOVER:scale_factor = 1.f ; + LANDCOVER:add_offset = 0.f ; + LANDCOVER:missing_value = -9999.f ; + LANDCOVER:vmin = 0.f ; + LANDCOVER:vmax = 0.f ; + LANDCOVER:num_bins = 20 ; + float CROPTYPE(north_south, east_west) ; + CROPTYPE:standard_name = "CROPTYPE" ; + CROPTYPE:units = "" ; + CROPTYPE:scale_factor = 1.f ; + CROPTYPE:add_offset = 0.f ; + CROPTYPE:missing_value = -9999.f ; + CROPTYPE:vmin = 0.f ; + CROPTYPE:vmax = 0.f ; + CROPTYPE:num_bins = 1 ; + float IRRIGFRAC(north_south, east_west) ; + IRRIGFRAC:standard_name = "User Derived Irrig gridcell fraction" ; + IRRIGFRAC:units = "-" ; + IRRIGFRAC:scale_factor = 1.f ; + IRRIGFRAC:add_offset = 0.f ; + IRRIGFRAC:missing_value = -9999.f ; + IRRIGFRAC:vmin = 0.f ; + IRRIGFRAC:vmax = 0.f ; + IRRIGFRAC:num_bins = 1 ; + float lat(north_south, east_west) ; + lat:standard_name = "latitude" ; + lat:units = "degrees_north" ; + lat:scale_factor = 1.f ; + lat:add_offset = 0.f ; + lat:missing_value = -9999.f ; + lat:vmin = 0.f ; + lat:vmax = 0.f ; + float lon(north_south, east_west) ; + lon:standard_name = "longitude" ; + lon:units = "degrees_east" ; + lon:scale_factor = 1.f ; + lon:add_offset = 0.f ; + lon:missing_value = -9999.f ; + lon:vmin = 0.f ; + lon:vmax = 0.f ; + float lat_b(north_south_b, east_west_b) ; + lat_b:standard_name = "latitude_b" ; + lat_b:units = "degrees_north" ; + lat_b:scale_factor = 1.f ; + lat_b:add_offset = 0.f ; + lat_b:missing_value = -9999.f ; + lat_b:vmin = 0.f ; + lat_b:vmax = 0.f ; + float lon_b(north_south_b, east_west_b) ; + lon_b:standard_name = "longitude_b" ; + lon_b:units = "degrees_east" ; + lon_b:scale_factor = 1.f ; + lon_b:add_offset = 0.f ; + lon_b:missing_value = -9999.f ; + lon_b:vmin = 0.f ; + lon_b:vmax = 0.f ; + +// global attributes: + :MAP_PROJECTION = "EQUIDISTANT CYLINDRICAL" ; + :SOUTH_WEST_CORNER_LAT = 20.975f ; + :SOUTH_WEST_CORNER_LON = 20.975f ; + :DX = 0.05f ; + :DY = 0.05f ; + :INC_WATER_PTS = "false" ; + :LANDCOVER_SCHEME = "IGBPNCEP" ; + :BARESOILCLASS = 16 ; + :URBANCLASS = 13 ; + :SNOWCLASS = 15 ; + :WATERCLASS = 17 ; + :WETLANDCLASS = 11 ; + :GLACIERCLASS = 15 ; + :CROPCLASS = 12 ; + :NUMVEGTYPES = 17 ; + :LANDMASK_SOURCE = "MODIS_Native" ; + :SFCMODELS = "none" ; + :CROPCLASS_SCHEME = "CROPMAP" ; + :CROPCLASS_NUMBER = 19 ; + :SOILTEXT_SCHEME = "Soil texture not selected" ; + :title = "Land Data Toolkit (LDT) parameter-processed output" ; + :institution = "NASA GSFC Hydrological Sciences Laboratory" ; + :history = "created on date: 2020-12-28T15:12:09.345" ; + :references = "Kumar_etal_EMS_2006, Peters-Lidard_etal_ISSE_2007" ; + :comment = "website: http://lis.gsfc.nasa.gov/" ; +} diff --git a/ldt/testcases/irrigreader/input_testcase.ctl b/ldt/testcases/irrigreader/input_testcase.ctl new file mode 100644 index 000000000..a6499fd02 --- /dev/null +++ b/ldt/testcases/irrigreader/input_testcase.ctl @@ -0,0 +1,125 @@ +netcdf ^TARGET_OUTPUT/lis_input.d01 { +dimensions: + east_west = 381 ; + north_south = 281 ; + east_west_b = 385 ; + north_south_b = 285 ; + time = 1 ; + sfctypes = 20 ; + croptypes = 1 ; +variables: + float time(time) ; + float DOMAINMASK(north_south, east_west) ; + DOMAINMASK:standard_name = "DOMAINMASK" ; + DOMAINMASK:units = "" ; + DOMAINMASK:scale_factor = 1.f ; + DOMAINMASK:add_offset = 0.f ; + DOMAINMASK:missing_value = -9999.f ; + DOMAINMASK:vmin = 0.f ; + DOMAINMASK:vmax = 0.f ; + DOMAINMASK:num_bins = 1 ; + float LANDMASK(north_south, east_west) ; + LANDMASK:standard_name = "LANDMASK" ; + LANDMASK:units = "" ; + LANDMASK:scale_factor = 1.f ; + LANDMASK:add_offset = 0.f ; + LANDMASK:missing_value = -9999.f ; + LANDMASK:vmin = 0.f ; + LANDMASK:vmax = 0.f ; + LANDMASK:num_bins = 1 ; + float SURFACETYPE(sfctypes, north_south, east_west) ; + SURFACETYPE:standard_name = "Surface type" ; + SURFACETYPE:units = "-" ; + SURFACETYPE:scale_factor = 1.f ; + SURFACETYPE:add_offset = 0.f ; + SURFACETYPE:missing_value = -9999.f ; + SURFACETYPE:vmin = 0.f ; + SURFACETYPE:vmax = 0.f ; + SURFACETYPE:num_bins = 20 ; + float LANDCOVER(sfctypes, north_south, east_west) ; + LANDCOVER:standard_name = "MODIS-IGBP (NCEP-modified) landcover map" ; + LANDCOVER:units = "" ; + LANDCOVER:scale_factor = 1.f ; + LANDCOVER:add_offset = 0.f ; + LANDCOVER:missing_value = -9999.f ; + LANDCOVER:vmin = 0.f ; + LANDCOVER:vmax = 0.f ; + LANDCOVER:num_bins = 20 ; + float CROPTYPE(north_south, east_west) ; + CROPTYPE:standard_name = "CROPTYPE" ; + CROPTYPE:units = "" ; + CROPTYPE:scale_factor = 1.f ; + CROPTYPE:add_offset = 0.f ; + CROPTYPE:missing_value = -9999.f ; + CROPTYPE:vmin = 0.f ; + CROPTYPE:vmax = 0.f ; + CROPTYPE:num_bins = 1 ; + float IRRIGFRAC(north_south, east_west) ; + IRRIGFRAC:standard_name = "User Derived Irrig gridcell fraction" ; + IRRIGFRAC:units = "-" ; + IRRIGFRAC:scale_factor = 1.f ; + IRRIGFRAC:add_offset = 0.f ; + IRRIGFRAC:missing_value = -9999.f ; + IRRIGFRAC:vmin = 0.f ; + IRRIGFRAC:vmax = 0.f ; + IRRIGFRAC:num_bins = 1 ; + float lat(north_south, east_west) ; + lat:standard_name = "latitude" ; + lat:units = "degrees_north" ; + lat:scale_factor = 1.f ; + lat:add_offset = 0.f ; + lat:missing_value = -9999.f ; + lat:vmin = 0.f ; + lat:vmax = 0.f ; + float lon(north_south, east_west) ; + lon:standard_name = "longitude" ; + lon:units = "degrees_east" ; + lon:scale_factor = 1.f ; + lon:add_offset = 0.f ; + lon:missing_value = -9999.f ; + lon:vmin = 0.f ; + lon:vmax = 0.f ; + float lat_b(north_south_b, east_west_b) ; + lat_b:standard_name = "latitude_b" ; + lat_b:units = "degrees_north" ; + lat_b:scale_factor = 1.f ; + lat_b:add_offset = 0.f ; + lat_b:missing_value = -9999.f ; + lat_b:vmin = 0.f ; + lat_b:vmax = 0.f ; + float lon_b(north_south_b, east_west_b) ; + lon_b:standard_name = "longitude_b" ; + lon_b:units = "degrees_east" ; + lon_b:scale_factor = 1.f ; + lon_b:add_offset = 0.f ; + lon_b:missing_value = -9999.f ; + lon_b:vmin = 0.f ; + lon_b:vmax = 0.f ; + +// global attributes: + :MAP_PROJECTION = "EQUIDISTANT CYLINDRICAL" ; + :SOUTH_WEST_CORNER_LAT = 20.975f ; + :SOUTH_WEST_CORNER_LON = 20.975f ; + :DX = 0.05f ; + :DY = 0.05f ; + :INC_WATER_PTS = "false" ; + :LANDCOVER_SCHEME = "IGBPNCEP" ; + :BARESOILCLASS = 16 ; + :URBANCLASS = 13 ; + :SNOWCLASS = 15 ; + :WATERCLASS = 17 ; + :WETLANDCLASS = 11 ; + :GLACIERCLASS = 15 ; + :CROPCLASS = 12 ; + :NUMVEGTYPES = 17 ; + :LANDMASK_SOURCE = "MODIS_Native" ; + :SFCMODELS = "none" ; + :CROPCLASS_SCHEME = "CROPMAP" ; + :CROPCLASS_NUMBER = 19 ; + :SOILTEXT_SCHEME = "Soil texture not selected" ; + :title = "Land Data Toolkit (LDT) parameter-processed output" ; + :institution = "NASA GSFC Hydrological Sciences Laboratory" ; + :history = "created on date: 2020-12-28T15:12:09.345" ; + :references = "Kumar_etal_EMS_2006, Peters-Lidard_etal_ISSE_2007" ; + :comment = "website: http://lis.gsfc.nasa.gov/" ; +} diff --git a/ldt/testcases/irrigreader/ldt.config b/ldt/testcases/irrigreader/ldt.config new file mode 100644 index 000000000..40a963064 --- /dev/null +++ b/ldt/testcases/irrigreader/ldt.config @@ -0,0 +1,92 @@ +#Overall driver options +LDT running mode: "LSM parameter processing" +Processed LSM parameter filename: ./lis_input.d01.nc +LIS number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Land surface model: "none" +Routing model: none # HYMAP +Lake model: none +Water fraction cutoff value: 0.5 +Add buffer to parameter grid domain: 0 # New option (implicit); 0-no buffer, 1-add buffer +# +Number of met forcing sources: 0 +Met forcing sources: none +Met spatial transform methods: none +Topographic correction method (met forcing): none + +LDT diagnostic file: ./log/ldtlog +Mask-parameter fill diagnostic file: ./log/maskparam.log +LDT output directory: OUTPUT +Undefined value: -9999.0 + +#LIS domain +Map projection of the LIS domain: latlon +Run domain lower left lat: 20.975 +Run domain lower left lon: 20.975 +Run domain upper right lat: 34.975 +Run domain upper right lon: 39.975 +Run domain resolution (dx): 0.05 +Run domain resolution (dy): 0.05 + +#Landcover parameter inputs +# Landcover/Mask Parameter Inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" # Enter land cover classification type +Landcover file: ./input/igbp.bin # Landcover map path +Landcover spatial transform: tile # none | mode | neighbor | tile +Landcover fill option: none # none | neighbor (Not needed if creating landmask) +Landcover map projection: latlon + +#Landmask parameter inputs +# Create landmask field from readin landcover map or read in separate landmask file +Create or readin landmask: "create" # create | readin +Landmask data source: "MODIS_Native" # If 'created', recommended to put Landcover source name here +Landmask file: none # Land mask file (if needed to be read-in) +Landmask spatial transform: none # none | mode | neighbor +Landmask map projection: latlon + +Soil texture data source: none +Soils spatial transform: none +Soils map projection: latlon + +Albedo data source: none +Max snow albedo data source: none +Greenness data source: none +Slope type data source: none +Elevation data source: none +Aspect data source: none +Slope data source: none +Bottom temperature data source: none + +# ======================================================= +### Crop information (used also in conjuction with irrigation modeling) + +Incorporate crop information: .true. + +Crop classification: "CROPMAP" +Crop library directory: "./input/Crop.Library.Files/" + +# Crop maps: +Crop type data source: "CONSTANT" +Crop type file: "none" +Crop map spatial transform: "none" # neighbor, average, none + +Assign crop value type: "single" # Assign: "none", "single", "multiple" crop values +Default crop type: "maize" # "maize", "millet", etc. + +# Irrigation maps: +# User-derived irrigation fraction map: +Irrigation fraction data source: "UserDerived" +Irrigation fraction map: ./input/irrigfrac_userderived_inputfile.gbin +Irrigation fraction spatial transform: none +Irrigation fraction map projection: latlon +Irrigation fraction lower left lat: -1.975 +Irrigation fraction lower left lon: -19.975 +Irrigation fraction upper right lat: 39.975 +Irrigation fraction upper right lon: 61.975 +Irrigation fraction resolution (dx): 0.05 +Irrigation fraction resolution (dy): 0.05 + +# _________________________________________________________________________ + diff --git a/lis/testcases/dataassim/extendDA/MODEL_OUTPUT_LIST.TBL b/lis/testcases/dataassim/extendDA/MODEL_OUTPUT_LIST.TBL new file mode 100644 index 000000000..d7e716090 --- /dev/null +++ b/lis/testcases/dataassim/extendDA/MODEL_OUTPUT_LIST.TBL @@ -0,0 +1,214 @@ +#short_name select? units signconv timeavg? min/max? std? vert.levels grib_id grib_scalefactor longname + +#Energy balance components +Swnet: 0 W/m2 DN 1 0 0 1 111 10 # Net shortwave radiation (W/m2) +Lwnet: 0 W/m2 DN 1 0 0 1 112 10 # Net longwave radiation (W/m2) +Qle: 0 W/m2 UP 1 0 0 1 121 10 # Latent heat flux (W/m2) +Qh: 0 W/m2 UP 1 0 0 1 122 10 # Sensible heat flux (W/m2) +Qg: 0 W/m2 DN 1 0 0 1 155 10 # Ground heat flux (W/m2) +Qf: 0 W/m2 S2L 1 0 0 1 229 10 # Energy of fusion (W/m2) +Qv: 0 W/m2 S2V 1 0 0 1 198 10 # Energy of sublimation (W/m2) +Qa: 0 W/m2 DN 1 0 0 1 136 10 # Advective energy (W/m2) +Qtau: 0 N/m2 DN 1 0 0 1 172 10 # Momentum flux (N/m2) +DelSurfHeat: 0 J/m2 INC 1 0 0 1 137 10 # Change in surface heat storage (J/m2) +DelColdCont: 0 J/m2 INC 1 0 0 1 138 10 # Change in snow cold content (J/m2) +BR: 0 - - 1 0 1 1 256 10 # Bowen ratio (-) +EF: 0 - - 1 0 1 1 256 10 # Evaporative fraction (-) +Rnet: 0 W/m2 DN 1 0 1 1 256 10 # Total net radiation (W/m2) + +#Water balance components +Snowf: 0 kg/m2s DN 1 0 0 1 161 10000 # Snowfall rate (kg/m2s) +Rainf: 0 kg/m2s DN 1 0 0 1 162 10000 # Rainfall rate (kg/m2s) +RainfConv: 0 kg/m2s DN 1 0 0 1 63 10000 # Convective rainfall rate (kg/m2s) +TotalPrecip: 0 kg/m2s DN 1 0 0 1 61 10000 # Total precipitation rate (kg/m2s) +Evap: 0 kg/m2s UP 1 0 0 1 57 10000 # Total evapotranspiration (kg/m2s) +Qs: 0 kg/m2s OUT 1 0 0 1 235 10000 # Surface runoff (kg/m2s) +Qrec: 0 kg/m2s IN 1 0 0 1 163 10000 # Recharge (kg/m2s) +Qsb: 0 kg/m2s OUT 1 0 0 1 234 10000 # Subsurface runoff (kg/m2s) +Qsm: 0 kg/m2s S2L 1 0 0 1 99 10000 # Snowmelt (kg/m2s) +Qfz: 0 kg/m2s L2S 1 0 0 1 130 10000 # Refreezing of water in the snowpack (kg/m2s) +Qst: 0 kg/m2s - 1 0 0 1 131 10000 # Snow throughfall (kg/m2s) +DelSoilMoist: 0 kg/m2 INC 1 0 0 1 132 10000 # Change in soil moisture (kg/m2) +DelSWE: 0 kg/m2 INC 1 0 0 1 133 1000 # Change in snow water equivalent (kg/m2) +DelSurfStor: 0 kg/m2 INC 1 0 0 1 134 1000 # Change in surface water storage (kg/m2) +DelIntercept: 0 kg/m2 INC 1 0 0 1 135 1000 # Change in interception storage (kg/m2) +RHMin: 0 - - 1 0 0 1 52 10 # Minimum 2-meter relative humidity (-) +Ch: 0 - - 1 0 0 1 208 10 # Surface exchange coefficient for heat +Cm: 0 - - 1 0 0 1 252 10 # Surface exchange coefficient for momentum + +#Surface state variables +SnowT: 0 K - 1 0 0 1 165 10 # Snow surface temperature (K) +VegT: 0 K - 1 0 0 1 146 10 # Vegetation canopy temperature (K) +BareSoilT: 0 K - 1 0 0 1 147 10 # Temperature of bare soil (K) +AvgSurfT: 0 K - 1 0 0 1 148 10 # Average surface temperature (K) +RadT: 0 K - 1 0 0 1 149 10 # Surface radiative temperature (K) +Albedo: 0 - - 1 0 0 1 84 100 # Surface albedo (-) +SWE: 0 kg/m2 - 1 0 0 1 65 1000 # Snow Water Equivalent (kg/m2) +SWEVeg: 0 kg/m2 - 1 0 0 1 139 1000 # SWE intercepted by vegetation (kg/m2) +SurfStor: 0 kg/m2 - 1 0 0 1 150 1000 # Surface water storage (kg/m2) + +#Subsurface state variables +SoilMoist: 0 m3/m3 - 1 0 0 4 86 1000 # Average layer soil moisture (kg/m2) +SoilTemp: 0 K - 1 0 0 4 85 1000 # Average layer soil temperature (K) +SmLiqFrac: 0 - - 1 0 0 4 160 100 # Average layer fraction of liquid moisture (-) +SmFrozFrac: 0 - - 1 0 0 4 140 100 # Average layer fraction of frozen moisture (-) +SoilWet: 0 - - 1 0 0 1 144 100 # Total soil wetness (-) +RelSMC: 0 m3/m3 - 1 0 0 4 141 1000 # Relative soil moisture (-) +RootTemp: 0 K - 1 0 0 1 142 1000 # Root zone temperature (K) + +#Evaporation components +PotEvap: 0 kg/m2s UP 1 0 0 1 145 1 # Potential evapotranspiration (kg/m2s) +ECanop: 0 kg/m2s UP 1 0 0 1 200 1 # Interception evaporation (kg/m2s) +TVeg: 0 kg/m2s UP 1 0 0 1 210 1 # Vegetation transpiration (kg/m2s) +ESoil: 0 kg/m2s UP 1 0 0 1 199 1 # Bare soil evaporation (kg/m2s) +EWater: 0 kg/m2s UP 1 0 0 1 197 1 # Open water evaporation (kg/m2s) +RootMoist: 0 kg/m2 - 1 0 0 1 171 1 # Root zone soil moisture (kg/m2) +CanopInt: 0 kg/m2 - 1 0 0 1 223 1000 # Total canopy water storage (kg/m2) +EvapSnow: 0 kg/m2s - 1 0 0 1 173 1000 # Snow evaporation (kg/m2s) +SubSnow: 0 kg/m2s - 1 0 0 1 198 1000 # Snow sublimation (kg/m2s) +SubSurf: 0 kg/m2s - 1 0 0 1 143 1000 # Sublimation of the snow free area (kg/m2s) +ACond: 0 m/s - 1 0 0 1 179 100000 # Aerodynamic conductance (m/s) +CCond: 0 m/s - 1 0 0 1 181 100000 # Canopy conductance (m/s) +SoilET: 0 kg/m2 - 1 0 0 1 256 1 # Soil evaporation (kg/m2s) +AResist: 0 s/m - 1 0 0 1 256 1 # Aerodynamic resistance (s/m) + +#Other hydrologic variables +WaterTableD: 0 m - 1 0 0 1 174 1 # Water table depth (m) +TWS: 0 mm - 1 0 0 1 175 1 # Terrestrial Water Storage (mm) +GWS: 0 mm - 1 0 0 1 176 1 # Ground Water Storage (mm) +WT: 0 mm - 1 0 0 1 177 1 # Noah-MP WT variable (mm) + +#Cold season processes +Snowcover: 0 - - 1 0 0 1 238 100 # Snow cover (-) +SAlbedo: 0 - - 0 0 0 1 184 1000 # Albedo of the snow-covered area (-) +SnowTProf: 0 K - 0 0 0 1 239 1000 # Temperature of the snow pack (K) +SnowDepth: 0 m - 1 0 0 1 66 1000 # Snow depth (m) +SLiqFrac: 0 - - 0 0 0 1 185 1000 # Fraction of SWE in the liquid phase (-) + +#Variables to compared against remote sensed data +LWup: 0 W/m2 UP 1 0 0 1 212 1 # Longwave radiation up from the surface (W/m2) + +#Carbon variables +GPP: 0 g/m2s IN 1 0 0 1 256 1 # Gross Primary Production +NPP: 0 g/m2s IN 1 0 0 1 256 1 # Net Primary Production +NEE: 0 g/m2s IN 1 0 0 1 256 1 # Net Ecosystem Exchange +AutoResp: 0 kg/m2s2 UP 1 0 0 1 256 1 # Autotrophic respiration +HeteroResp: 0 kg/m2s2 UP 1 0 0 1 256 1 # Heterotrophic respiration +LeafResp: 0 kg/m2s2 UP 1 0 0 1 256 1 # Leaf respiration +TotSoilCarb: 0 kg/m2 - 1 0 0 1 256 1 # Total soil carbon +TotLivBiom: 0 kg/m2 - 1 0 0 1 256 1 # Total living biomass + +#Forcings +Wind_f: 0 m/s - 1 0 0 1 32 10 # Near surface wind (m/s) +Rainf_f: 0 kg/m2s DN 1 0 0 1 162 1000 # Average rainfall rate +Snowf_f: 0 kg/m2s DN 1 0 0 1 161 1000 # Average snowfall rate +CRainf_f: 0 kg/m2s DN 1 0 0 1 63 1000 # Average convective rainfall rate +Tair_f: 0 K - 1 0 0 1 11 10 # Near surface air temperature +Qair_f: 0 kg/kg - 1 0 0 1 51 1000 # Near surface specific humidity +Psurf_f: 0 Pa - 1 0 0 1 1 10 # Surface pressure +SWdown_f: 0 W/m2 DN 1 0 0 1 204 10 # Surface incident shortwave radiation +LWdown_f: 0 W/m2 DN 1 0 0 1 205 10 # Surface incident longwave radiation +PARDR_f: 0 W/m2 DN 1 0 0 1 256 10 # Surface incident PAR direct +PARDF_f: 0 W/m2 DN 1 0 0 1 256 10 # Surface incident PAR diffuse + +#Additional forcings +DirectSW_f: 0 W/m2 - 1 0 0 1 166 10 # Surface direct incident shortwave radiation +DiffuseSW_f: 0 W/m2 - 1 0 0 1 167 10 # Surface diffuse incident shortwave radiation +NWind_f: 0 m/s N 1 0 0 1 34 10 # Northward wind +EWind_f: 0 m/s E 1 0 0 1 33 10 # Eastward wind +FHeight_f: 0 m - 1 0 0 1 256 10 # Height of forcing variables +Ch_f: 0 - - 1 0 0 1 208 10 # Surface exchange coefficient for heat +Cm_f: 0 - - 1 0 0 1 252 10 # Surface exchange coefficient for momentum +Emiss_f: 0 - - 1 0 0 1 256 10 # Surface emissivity +MixRatio_f: 0 kg/kg - 1 0 0 1 53 10 # Surface mixing ratio +CosZenith_f: 0 - - 1 0 0 1 256 10 # Cosine of zenith angle +Albedo_f: 0 - - 1 0 0 1 84 10 # Surface albedo +CAPE_f: 0 J/kg - 1 0 0 1 157 10 # Convective Available Potential Energy +Z0brd: 0 m - 1 0 0 1 256 1 # Z0brd +T2diag: 0 K - 1 0 0 1 256 1 # Diagnostic t2 +Q2diag: 0 kg/kg - 1 0 0 1 256 1 # Diagnostic q2 +Snowflag_f: 0 - - 1 0 0 1 256 1 # Snowflag +Density_f: 0 kg/m3 - 1 0 0 1 256 1 # Atmospheric density +VaporPress_f: 0 - - 1 0 0 1 256 1 # Vapor pressure +VaporPressDeficit_f: 0 - - 1 0 0 1 256 1 # Vapor pressure deficit + +#Parameters +Landmask: 0 - - 0 0 0 1 81 1 # Land mask (0 - Water, 1 - Land) +Landcover: 0 - - 0 0 0 1 225 1 # Land cover +Soiltype: 0 - - 0 0 0 1 224 1 # Soil type +SandFrac: 0 - - 0 0 0 1 256 1 # Sand fraction +ClayFrac: 0 - - 0 0 0 1 256 1 # Clay fraction +SiltFrac: 0 - - 0 0 0 1 256 1 # Silt fraction +Porosity: 0 - - 0 0 0 1 240 1 # Porosity +Soilcolor: 0 - - 0 0 0 1 256 1 # Soil color +Elevation: 0 m - 0 0 0 1 196 10 # Elevation +Slope: 0 - - 0 0 0 1 222 10 # Slope +LAI: 1 - - 1 0 0 1 182 100 # LAI +SAI: 0 - - 1 0 0 1 256 100 # SAI +Snfralbedo: 0 - - 0 0 0 1 184 100 # Snow fraction albedo +Mxsnalbedo: 0 - - 0 0 0 1 159 100 # Maximum snow albedo +Greenness: 0 - - 1 0 0 1 87 100 # Greenness +Roughness: 0 m - 0 0 0 1 83 10 # Roughness +Tempbot: 0 K - 0 0 0 1 256 10 # Bottom soil temperature + +#Routing +Streamflow: 1 m3/s - 1 0 0 1 256 10 # Streamflow +RiverStor: 1 m3 - 1 0 0 1 256 10 # River storage +RiverDepth: 1 m - 1 0 0 1 256 10 # River depth +RiverVelocity: 1 m/s - 1 0 0 1 256 10 # River velocity +FloodQ: 0 m3/s - 1 0 0 1 256 10 # Flood discharge +FloodEvap: 0 m3 - 1 0 0 1 256 10 # Flood evaporation +FloodStor: 1 m3 - 1 0 0 1 256 10 # Flood storage +FloodDepth: 0 m - 1 0 0 1 256 10 # Flood depth +FloodVelocity: 0 m/s - 1 0 0 1 256 10 # Flood velocity +FloodedFrac: 0 - - 1 0 0 1 256 10 # Flooded fraction +FloodedArea: 0 m2 - 1 0 0 1 256 10 # Flooded area +SurfElev: 1 m - 1 0 0 1 256 10 # Surface elevation +RunoffStor: 0 m3 - 1 0 0 1 256 10 # Runoff storage +BaseflowStor: 0 m3 - 1 0 0 1 256 10 # Baseflow storage + +#Irrigation +Irrigated water: 0 kg/m2s - 1 0 0 1 256 10 # Irrigation amount + +#NoahMP +SnowIce: 0 mm - 1 0 0 3 85 1000 # snow ice contents in layers +SnowLiq: 0 mm - 1 0 0 3 85 1000 # snow water contents in layers +VegCanopT: 0 K - 1 0 0 1 146 10 # Vegetation canopy temperature (K) +CanopVP: 0 Pa - 1 0 0 1 146 10 # Canopy air vapor pressure +CanopWetFrac: 0 - - 1 0 0 1 146 10 # Canopy wet fraction +CanopIntLiq: 0 mm - 1 0 0 1 146 10 # Canopy intercepted liquid water +SnowAge: 0 - - 1 0 0 1 146 10 # snow age factor +AvgGrndT: 0 K - 1 0 0 1 148 10 # Average surface temperature (K) +ActSnowNL: 0 - - 1 0 0 1 148 10 # actual number of snow layers +LeafMass: 0 g/m2 - 1 0 0 1 148 10 # leaf mass +RootMass: 0 g/m2 - 1 0 0 1 148 10 # stem mass +StemMass: 0 g/m2 - 1 0 0 1 148 10 # wood mass +WoodMass: 0 g/m2 - 1 0 0 1 148 10 # mass of wood including woody roots [g/m2] +DeepSoilCarbon: 0 g/m2 - 1 0 0 1 148 10 # stable carbon in deep soil [g/m2] +ShallowSoilCarbon: 0 g/m2 - 1 0 0 1 148 10 # short-lived carbon in shallow soil [g/m2] +RechToGW: 0 m - 1 0 0 1 148 10 # recharge to water table when groundwater is deep +RechFromGW: 0 m - 1 0 0 1 148 10 # recharge from water table when groundwater shallow +SwReflect: 0 W/m2 UP 1 0 0 1 111 10 # Net shortwave radiation (W/m2) +VegT2m: 0 K - 1 0 0 1 146 10 # Vegetation temperature at 2m height (K) +QairT2m: 0 kg/kg - 1 0 0 1 51 1000 # 2-m over vegetation specific humidity +APAR: 0 W/m2 IN 1 0 0 1 111 10 # absorbed PAR energy by canopy (W/m2) +SAV: 0 W/m2 IN 1 0 0 1 111 10 # solar radiation absorbed by vegetation (W/m2) +SAG: 0 W/m2 IN 1 0 0 1 111 10 # solar radiation absorbed by ground (W/m2) +PSCO2: 0 umol/m2s IN 1 0 0 1 111 10 # total photosynthesis of CO2 (umol/m2s) +RsSunlit: 0 s/m - 0 0 0 1 238 100 # sunlit stomatal resistance +RsShaded: 0 s/m - 0 0 0 1 238 100 # shaded stomatal resistance +BCanoGapFrac: 0 - - 0 0 0 1 238 100 # between-canopy gap fraction for beam +WCanoGapFrac: 0 - - 0 0 0 1 238 100 # within-canopy gap fraction for beam +ChVeg: 0 s/m - 1 0 0 1 208 10 # Surface heat exchange coeff. over vegetated fraction +ChBare: 0 s/m - 1 0 0 1 208 10 # Surface heat exchange coeff. over bare soil fraction +QhCano: 0 W/m2 UP 1 0 0 1 122 10 # canopy sensible heat flux (W/m2) +QhBare: 0 W/m2 UP 1 0 0 1 122 10 # bare soil sensible heat flux (W/m2) +EvapHBare: 0 W/m2 UP 1 0 0 1 122 10 # bare soil evaporation heat (W/m2) +EvapHGrnd: 0 W/m2 UP 1 0 0 1 122 10 # ground evaporation heat (W/m2) +GrndHBare: 0 W/m2 UP 1 0 0 1 122 10 # bare ground heat flux (W/m2) +GrndHVeg: 0 W/m2 UP 1 0 0 1 122 10 # vegetated ground heat flux (W/m2) +ChLeaf: 0 s/m - 1 0 0 1 208 10 # Surface exchange coefficient for heat over leaf +ChV2: 0 s/m - 1 0 0 1 208 10 # sensible heat exchange coef. over vegetated fraction +ChB2: 0 s/m - 1 0 0 1 208 10 # sensible heat exchange coeff. over bare ground +fpice: 0 - - 1 0 0 1 208 10 # snow fraction in precipitation + diff --git a/lis/testcases/dataassim/extendDA/README b/lis/testcases/dataassim/extendDA/README new file mode 100644 index 000000000..a293145db --- /dev/null +++ b/lis/testcases/dataassim/extendDA/README @@ -0,0 +1,27 @@ +The extendDA Test Case + +The testcase demonstrates support for DA capabilities beyond land surface models (routing, glacier, etc.) The testcases employees the HYMAP 2 router to run a 2 day, 0.25 deg test. + +This directory contains: +* this README file +* the lis.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* the MODEL_OUTPUT_LIST.TBL file used to specify the output variables. +* a sample grads control file that can be used to visualize the + output. (output.ctl) +* a sample grads control file that can be used to visualize the + test case output. (testcase.ctl) +* output-routing.ctl +* testcase-routing.ctl + +To run this test case: + +* Generate the LIS executable. +* Run the LIS executable using the lis.config file and your sample + input data. + +Notes: + +This feature was added in pull request #544: +http://github.com/nasa-lis/lisf/pull/544 diff --git a/lis/testcases/dataassim/extendDA/input.ctl b/lis/testcases/dataassim/extendDA/input.ctl new file mode 100644 index 000000000..c7cfce035 --- /dev/null +++ b/lis/testcases/dataassim/extendDA/input.ctl @@ -0,0 +1,461 @@ +netcdf lis_input.d01 { +dimensions: + east_west = 36 ; + north_south = 40 ; + east_west_b = 40 ; + north_south_b = 44 ; + month = 12 ; + time = 1 ; + sfctypes = 20 ; + croptypes = 1 ; + soiltypes = 16 ; + elevbins = 1 ; + slopebins = 1 ; + aspectbins = 1 ; + fld_height_levels = 10 ; + irrigtypes = 4 ; +variables: + float time(time) ; + float DOMAINMASK(north_south, east_west) ; + DOMAINMASK:standard_name = "DOMAINMASK" ; + DOMAINMASK:units = "" ; + DOMAINMASK:scale_factor = 1.f ; + DOMAINMASK:add_offset = 0.f ; + DOMAINMASK:missing_value = -9999.f ; + DOMAINMASK:vmin = 0.f ; + DOMAINMASK:vmax = 0.f ; + DOMAINMASK:num_bins = 1 ; + float LANDMASK(north_south, east_west) ; + LANDMASK:standard_name = "LANDMASK" ; + LANDMASK:units = "" ; + LANDMASK:scale_factor = 1.f ; + LANDMASK:add_offset = 0.f ; + LANDMASK:missing_value = -9999.f ; + LANDMASK:vmin = 0.f ; + LANDMASK:vmax = 0.f ; + LANDMASK:num_bins = 1 ; + float SURFACETYPE(sfctypes, north_south, east_west) ; + SURFACETYPE:standard_name = "Surface type" ; + SURFACETYPE:units = "-" ; + SURFACETYPE:scale_factor = 1.f ; + SURFACETYPE:add_offset = 0.f ; + SURFACETYPE:missing_value = -9999.f ; + SURFACETYPE:vmin = 0.f ; + SURFACETYPE:vmax = 0.f ; + SURFACETYPE:num_bins = 20 ; + float LANDCOVER(sfctypes, north_south, east_west) ; + LANDCOVER:standard_name = "MODIS-IGBP (NCEP-modified) landcover map" ; + LANDCOVER:units = "" ; + LANDCOVER:scale_factor = 1.f ; + LANDCOVER:add_offset = 0.f ; + LANDCOVER:missing_value = -9999.f ; + LANDCOVER:vmin = 0.f ; + LANDCOVER:vmax = 0.f ; + LANDCOVER:num_bins = 20 ; + float CROPTYPE(north_south, east_west) ; + CROPTYPE:standard_name = "Monfreda et al (2008) crop types" ; + CROPTYPE:units = "" ; + CROPTYPE:scale_factor = 1.f ; + CROPTYPE:add_offset = 0.f ; + CROPTYPE:missing_value = -9999.f ; + CROPTYPE:vmin = 0.f ; + CROPTYPE:vmax = 0.f ; + CROPTYPE:num_bins = 1 ; + float TEXTURE(soiltypes, north_south, east_west) ; + TEXTURE:standard_name = "(NCAR) STATSGO+FAO blended soil texture map" ; + TEXTURE:units = "" ; + TEXTURE:scale_factor = 1.f ; + TEXTURE:add_offset = 0.f ; + TEXTURE:missing_value = -9999.f ; + TEXTURE:vmin = 0.f ; + TEXTURE:vmax = 0.f ; + TEXTURE:num_bins = 16 ; + float ELEVFGRD(north_south, east_west) ; + ELEVFGRD:standard_name = "Elevation Area Fraction" ; + ELEVFGRD:units = "-" ; + ELEVFGRD:scale_factor = 1.f ; + ELEVFGRD:add_offset = 0.f ; + ELEVFGRD:missing_value = -9999.f ; + ELEVFGRD:vmin = 0.f ; + ELEVFGRD:vmax = 0.f ; + ELEVFGRD:num_bins = 1 ; + float ELEVATION(north_south, east_west) ; + ELEVATION:standard_name = "SRTM (Native) elevation" ; + ELEVATION:units = "m" ; + ELEVATION:scale_factor = 1.f ; + ELEVATION:add_offset = 0.f ; + ELEVATION:missing_value = -9999.f ; + ELEVATION:vmin = 0.f ; + ELEVATION:vmax = 0.f ; + ELEVATION:num_bins = 1 ; + float SLOPEFGRD(north_south, east_west) ; + SLOPEFGRD:standard_name = "Slope Area Fraction" ; + SLOPEFGRD:units = "-" ; + SLOPEFGRD:scale_factor = 1.f ; + SLOPEFGRD:add_offset = 0.f ; + SLOPEFGRD:missing_value = -9999.f ; + SLOPEFGRD:vmin = 0.f ; + SLOPEFGRD:vmax = 0.f ; + SLOPEFGRD:num_bins = 1 ; + float SLOPE(north_south, east_west) ; + SLOPE:standard_name = "SRTM (Native) slope" ; + SLOPE:units = "-" ; + SLOPE:scale_factor = 1.f ; + SLOPE:add_offset = 0.f ; + SLOPE:missing_value = -9999.f ; + SLOPE:vmin = 0.f ; + SLOPE:vmax = 0.f ; + SLOPE:num_bins = 1 ; + float ASPECTFGRD(north_south, east_west) ; + ASPECTFGRD:standard_name = "Aspect Area Fraction" ; + ASPECTFGRD:units = "-" ; + ASPECTFGRD:scale_factor = 1.f ; + ASPECTFGRD:add_offset = 0.f ; + ASPECTFGRD:missing_value = -9999.f ; + ASPECTFGRD:vmin = 0.f ; + ASPECTFGRD:vmax = 0.f ; + ASPECTFGRD:num_bins = 1 ; + float ASPECT(north_south, east_west) ; + ASPECT:standard_name = "SRTM (Native) aspect" ; + ASPECT:units = "-" ; + ASPECT:scale_factor = 1.f ; + ASPECT:add_offset = 0.f ; + ASPECT:missing_value = -9999.f ; + ASPECT:vmin = 0.f ; + ASPECT:vmax = 0.f ; + ASPECT:num_bins = 1 ; + float GREENNESS(month, north_south, east_west) ; + GREENNESS:standard_name = "NCEP (Native) monthly greenness fraction climatology" ; + GREENNESS:units = "-" ; + GREENNESS:scale_factor = 1.f ; + GREENNESS:add_offset = 0.f ; + GREENNESS:missing_value = -9999.f ; + GREENNESS:vmin = 0.f ; + GREENNESS:vmax = 0.f ; + GREENNESS:num_bins = 1 ; + float SHDMIN(north_south, east_west) ; + SHDMIN:standard_name = "NCEP (Native) min greenness" ; + SHDMIN:units = "-" ; + SHDMIN:scale_factor = 1.f ; + SHDMIN:add_offset = 0.f ; + SHDMIN:missing_value = -9999.f ; + SHDMIN:vmin = 0.f ; + SHDMIN:vmax = 0.f ; + SHDMIN:num_bins = 1 ; + float SHDMAX(north_south, east_west) ; + SHDMAX:standard_name = "NCEP (Native) max greenness" ; + SHDMAX:units = "-" ; + SHDMAX:scale_factor = 1.f ; + SHDMAX:add_offset = 0.f ; + SHDMAX:missing_value = -9999.f ; + SHDMAX:vmin = 0.f ; + SHDMAX:vmax = 0.f ; + SHDMAX:num_bins = 1 ; + float ALBEDO(month, north_south, east_west) ; + ALBEDO:standard_name = "NCEP (Native) monthly albedo clim" ; + ALBEDO:units = "-" ; + ALBEDO:scale_factor = 1.f ; + ALBEDO:add_offset = 0.f ; + ALBEDO:missing_value = -9999.f ; + ALBEDO:vmin = 0.f ; + ALBEDO:vmax = 0.f ; + ALBEDO:num_bins = 1 ; + float MXSNALBEDO(north_south, east_west) ; + MXSNALBEDO:standard_name = "NCEP (Native) max snow albedo" ; + MXSNALBEDO:units = "-" ; + MXSNALBEDO:scale_factor = 1.f ; + MXSNALBEDO:add_offset = 0.f ; + MXSNALBEDO:missing_value = -9999.f ; + MXSNALBEDO:vmin = 0.f ; + MXSNALBEDO:vmax = 0.f ; + MXSNALBEDO:num_bins = 1 ; + float TBOT(north_south, east_west) ; + TBOT:standard_name = "Noah LSM bottom temperature" ; + TBOT:units = "K" ; + TBOT:scale_factor = 1.f ; + TBOT:add_offset = 0.f ; + TBOT:missing_value = -9999.f ; + TBOT:vmin = 0.f ; + TBOT:vmax = 0.f ; + TBOT:num_bins = 1 ; + float SLOPETYPE(north_south, east_west) ; + SLOPETYPE:standard_name = "Noah LSM slope type" ; + SLOPETYPE:units = "-" ; + SLOPETYPE:scale_factor = 1.f ; + SLOPETYPE:add_offset = 0.f ; + SLOPETYPE:missing_value = -9999.f ; + SLOPETYPE:vmin = 0.f ; + SLOPETYPE:vmax = 0.f ; + SLOPETYPE:num_bins = 1 ; + float NOAHMP36_PBLH(north_south, east_west) ; + NOAHMP36_PBLH:standard_name = "Noah-MP LSM planetary boundary height" ; + NOAHMP36_PBLH:units = "m" ; + NOAHMP36_PBLH:scale_factor = 1.f ; + NOAHMP36_PBLH:add_offset = 0.f ; + NOAHMP36_PBLH:missing_value = -9999.f ; + NOAHMP36_PBLH:vmin = 0.f ; + NOAHMP36_PBLH:vmax = 0.f ; + NOAHMP36_PBLH:num_bins = 1 ; + float HYMAP_river_width(north_south, east_west) ; + HYMAP_river_width:standard_name = "HYMAP_river_width" ; + HYMAP_river_width:units = "none" ; + HYMAP_river_width:scale_factor = 1.f ; + HYMAP_river_width:add_offset = 0.f ; + HYMAP_river_width:missing_value = -9999.f ; + HYMAP_river_width:vmin = 0.f ; + HYMAP_river_width:vmax = 0.f ; + HYMAP_river_width:num_bins = 1 ; + float HYMAP_river_height(north_south, east_west) ; + HYMAP_river_height:standard_name = "HYMAP_river_height" ; + HYMAP_river_height:units = "none" ; + HYMAP_river_height:scale_factor = 1.f ; + HYMAP_river_height:add_offset = 0.f ; + HYMAP_river_height:missing_value = -9999.f ; + HYMAP_river_height:vmin = 0.f ; + HYMAP_river_height:vmax = 0.f ; + HYMAP_river_height:num_bins = 1 ; + float HYMAP_river_length(north_south, east_west) ; + HYMAP_river_length:standard_name = "HYMAP_river_length" ; + HYMAP_river_length:units = "none" ; + HYMAP_river_length:scale_factor = 1.f ; + HYMAP_river_length:add_offset = 0.f ; + HYMAP_river_length:missing_value = -9999.f ; + HYMAP_river_length:vmin = 0.f ; + HYMAP_river_length:vmax = 0.f ; + HYMAP_river_length:num_bins = 1 ; + float HYMAP_river_roughness(north_south, east_west) ; + HYMAP_river_roughness:standard_name = "HYMAP_river_roughness" ; + HYMAP_river_roughness:units = "none" ; + HYMAP_river_roughness:scale_factor = 1.f ; + HYMAP_river_roughness:add_offset = 0.f ; + HYMAP_river_roughness:missing_value = -9999.f ; + HYMAP_river_roughness:vmin = 0.f ; + HYMAP_river_roughness:vmax = 0.f ; + HYMAP_river_roughness:num_bins = 1 ; + float HYMAP_floodplain_roughness(north_south, east_west) ; + HYMAP_floodplain_roughness:standard_name = "HYMAP_floodplain_roughness" ; + HYMAP_floodplain_roughness:units = "none" ; + HYMAP_floodplain_roughness:scale_factor = 1.f ; + HYMAP_floodplain_roughness:add_offset = 0.f ; + HYMAP_floodplain_roughness:missing_value = -9999.f ; + HYMAP_floodplain_roughness:vmin = 0.f ; + HYMAP_floodplain_roughness:vmax = 0.f ; + HYMAP_floodplain_roughness:num_bins = 1 ; + float HYMAP_floodplain_height(fld_height_levels, north_south, east_west) ; + HYMAP_floodplain_height:standard_name = "HYMAP_floodplain_height" ; + HYMAP_floodplain_height:units = "none" ; + HYMAP_floodplain_height:scale_factor = 1.f ; + HYMAP_floodplain_height:add_offset = 0.f ; + HYMAP_floodplain_height:missing_value = -9999.f ; + HYMAP_floodplain_height:vmin = 0.f ; + HYMAP_floodplain_height:vmax = 0.f ; + HYMAP_floodplain_height:num_bins = 10 ; + float HYMAP_flow_direction_x(north_south, east_west) ; + HYMAP_flow_direction_x:standard_name = "HYMAP_flow_direction_x" ; + HYMAP_flow_direction_x:units = "none" ; + HYMAP_flow_direction_x:scale_factor = 1.f ; + HYMAP_flow_direction_x:add_offset = 0.f ; + HYMAP_flow_direction_x:missing_value = -9999.f ; + HYMAP_flow_direction_x:vmin = 0.f ; + HYMAP_flow_direction_x:vmax = 0.f ; + HYMAP_flow_direction_x:num_bins = 1 ; + float HYMAP_flow_direction_y(north_south, east_west) ; + HYMAP_flow_direction_y:standard_name = "HYMAP_flow_direction_y" ; + HYMAP_flow_direction_y:units = "none" ; + HYMAP_flow_direction_y:scale_factor = 1.f ; + HYMAP_flow_direction_y:add_offset = 0.f ; + HYMAP_flow_direction_y:missing_value = -9999.f ; + HYMAP_flow_direction_y:vmin = 0.f ; + HYMAP_flow_direction_y:vmax = 0.f ; + HYMAP_flow_direction_y:num_bins = 1 ; + float HYMAP_grid_elevation(north_south, east_west) ; + HYMAP_grid_elevation:standard_name = "HYMAP_grid_elevation" ; + HYMAP_grid_elevation:units = "none" ; + HYMAP_grid_elevation:scale_factor = 1.f ; + HYMAP_grid_elevation:add_offset = 0.f ; + HYMAP_grid_elevation:missing_value = -9999.f ; + HYMAP_grid_elevation:vmin = 0.f ; + HYMAP_grid_elevation:vmax = 0.f ; + HYMAP_grid_elevation:num_bins = 1 ; + float HYMAP_grid_distance(north_south, east_west) ; + HYMAP_grid_distance:standard_name = "HYMAP_grid_distance" ; + HYMAP_grid_distance:units = "none" ; + HYMAP_grid_distance:scale_factor = 1.f ; + HYMAP_grid_distance:add_offset = 0.f ; + HYMAP_grid_distance:missing_value = -9999.f ; + HYMAP_grid_distance:vmin = 0.f ; + HYMAP_grid_distance:vmax = 0.f ; + HYMAP_grid_distance:num_bins = 1 ; + float HYMAP_grid_area(north_south, east_west) ; + HYMAP_grid_area:standard_name = "HYMAP_grid_area" ; + HYMAP_grid_area:units = "none" ; + HYMAP_grid_area:scale_factor = 1.f ; + HYMAP_grid_area:add_offset = 0.f ; + HYMAP_grid_area:missing_value = -9999.f ; + HYMAP_grid_area:vmin = 0.f ; + HYMAP_grid_area:vmax = 0.f ; + HYMAP_grid_area:num_bins = 1 ; + float HYMAP_drain_area(north_south, east_west) ; + HYMAP_drain_area:standard_name = "HYMAP_drain_area" ; + HYMAP_drain_area:units = "none" ; + HYMAP_drain_area:scale_factor = 1.f ; + HYMAP_drain_area:add_offset = 0.f ; + HYMAP_drain_area:missing_value = -9999.f ; + HYMAP_drain_area:vmin = 0.f ; + HYMAP_drain_area:vmax = 0.f ; + HYMAP_drain_area:num_bins = 1 ; + float HYMAP_basin(north_south, east_west) ; + HYMAP_basin:standard_name = "HYMAP_basin" ; + HYMAP_basin:units = "none" ; + HYMAP_basin:scale_factor = 1.f ; + HYMAP_basin:add_offset = 0.f ; + HYMAP_basin:missing_value = -9999.f ; + HYMAP_basin:vmin = 0.f ; + HYMAP_basin:vmax = 0.f ; + HYMAP_basin:num_bins = 1 ; + float HYMAP_runoff_time_delay(north_south, east_west) ; + HYMAP_runoff_time_delay:standard_name = "HYMAP_runoff_time_delay" ; + HYMAP_runoff_time_delay:units = "none" ; + HYMAP_runoff_time_delay:scale_factor = 1.f ; + HYMAP_runoff_time_delay:add_offset = 0.f ; + HYMAP_runoff_time_delay:missing_value = -9999.f ; + HYMAP_runoff_time_delay:vmin = 0.f ; + HYMAP_runoff_time_delay:vmax = 0.f ; + HYMAP_runoff_time_delay:num_bins = 1 ; + float HYMAP_runoff_time_delay_multiplier(north_south, east_west) ; + HYMAP_runoff_time_delay_multiplier:standard_name = "HYMAP_runoff_time_delay_multiplier" ; + HYMAP_runoff_time_delay_multiplier:units = "none" ; + HYMAP_runoff_time_delay_multiplier:scale_factor = 1.f ; + HYMAP_runoff_time_delay_multiplier:add_offset = 0.f ; + HYMAP_runoff_time_delay_multiplier:missing_value = -9999.f ; + HYMAP_runoff_time_delay_multiplier:vmin = 0.f ; + HYMAP_runoff_time_delay_multiplier:vmax = 0.f ; + HYMAP_runoff_time_delay_multiplier:num_bins = 1 ; + float HYMAP_baseflow_time_delay(north_south, east_west) ; + HYMAP_baseflow_time_delay:standard_name = "HYMAP_baseflow_time_delay" ; + HYMAP_baseflow_time_delay:units = "none" ; + HYMAP_baseflow_time_delay:scale_factor = 1.f ; + HYMAP_baseflow_time_delay:add_offset = 0.f ; + HYMAP_baseflow_time_delay:missing_value = -9999.f ; + HYMAP_baseflow_time_delay:vmin = 0.f ; + HYMAP_baseflow_time_delay:vmax = 0.f ; + HYMAP_baseflow_time_delay:num_bins = 1 ; + float HYMAP_basin_mask(north_south, east_west) ; + HYMAP_basin_mask:standard_name = "HYMAP_basin_mask" ; + HYMAP_basin_mask:units = "none" ; + HYMAP_basin_mask:scale_factor = 1.f ; + HYMAP_basin_mask:add_offset = 0.f ; + HYMAP_basin_mask:missing_value = -9999.f ; + HYMAP_basin_mask:vmin = 0.f ; + HYMAP_basin_mask:vmax = 0.f ; + HYMAP_basin_mask:num_bins = 1 ; + float HYMAP_river_flow_type(north_south, east_west) ; + HYMAP_river_flow_type:standard_name = "HYMAP_river_flow_type" ; + HYMAP_river_flow_type:units = "none" ; + HYMAP_river_flow_type:scale_factor = 1.f ; + HYMAP_river_flow_type:add_offset = 0.f ; + HYMAP_river_flow_type:missing_value = -9999.f ; + HYMAP_river_flow_type:vmin = 0.f ; + HYMAP_river_flow_type:vmax = 0.f ; + HYMAP_river_flow_type:num_bins = 1 ; + float HYMAP_baseflow_dwi_ratio(north_south, east_west) ; + HYMAP_baseflow_dwi_ratio:standard_name = "HYMAP_baseflow_dwi_ratio" ; + HYMAP_baseflow_dwi_ratio:units = "none" ; + HYMAP_baseflow_dwi_ratio:scale_factor = 1.f ; + HYMAP_baseflow_dwi_ratio:add_offset = 0.f ; + HYMAP_baseflow_dwi_ratio:missing_value = -9999.f ; + HYMAP_baseflow_dwi_ratio:vmin = 0.f ; + HYMAP_baseflow_dwi_ratio:vmax = 0.f ; + HYMAP_baseflow_dwi_ratio:num_bins = 1 ; + float HYMAP_runoff_dwi_ratio(north_south, east_west) ; + HYMAP_runoff_dwi_ratio:standard_name = "HYMAP_runoff_dwi_ratio" ; + HYMAP_runoff_dwi_ratio:units = "none" ; + HYMAP_runoff_dwi_ratio:scale_factor = 1.f ; + HYMAP_runoff_dwi_ratio:add_offset = 0.f ; + HYMAP_runoff_dwi_ratio:missing_value = -9999.f ; + HYMAP_runoff_dwi_ratio:vmin = 0.f ; + HYMAP_runoff_dwi_ratio:vmax = 0.f ; + HYMAP_runoff_dwi_ratio:num_bins = 1 ; + float IRRIGTYPE(irrigtypes, north_south, east_west) ; + IRRIGTYPE:standard_name = "GRIPC (Salmon,2013) Irrigation type (tiles)" ; + IRRIGTYPE:units = "-" ; + IRRIGTYPE:scale_factor = 1.f ; + IRRIGTYPE:add_offset = 0.f ; + IRRIGTYPE:missing_value = -9999.f ; + IRRIGTYPE:vmin = 0.f ; + IRRIGTYPE:vmax = 0.f ; + IRRIGTYPE:num_bins = 4 ; + float IRRIGFRAC(north_south, east_west) ; + IRRIGFRAC:standard_name = "GRIPC (Salmon,2013) Irrig gridcell fraction" ; + IRRIGFRAC:units = "-" ; + IRRIGFRAC:scale_factor = 1.f ; + IRRIGFRAC:add_offset = 0.f ; + IRRIGFRAC:missing_value = -9999.f ; + IRRIGFRAC:vmin = 0.f ; + IRRIGFRAC:vmax = 0.f ; + IRRIGFRAC:num_bins = 1 ; + float lat(north_south, east_west) ; + lat:standard_name = "latitude" ; + lat:units = "degrees_north" ; + lat:scale_factor = 1.f ; + lat:add_offset = 0.f ; + lat:missing_value = -9999.f ; + lat:vmin = 0.f ; + lat:vmax = 0.f ; + float lon(north_south, east_west) ; + lon:standard_name = "longitude" ; + lon:units = "degrees_east" ; + lon:scale_factor = 1.f ; + lon:add_offset = 0.f ; + lon:missing_value = -9999.f ; + lon:vmin = 0.f ; + lon:vmax = 0.f ; + float lat_b(north_south_b, east_west_b) ; + lat_b:standard_name = "latitude_b" ; + lat_b:units = "degrees_north" ; + lat_b:scale_factor = 1.f ; + lat_b:add_offset = 0.f ; + lat_b:missing_value = -9999.f ; + lat_b:vmin = 0.f ; + lat_b:vmax = 0.f ; + float lon_b(north_south_b, east_west_b) ; + lon_b:standard_name = "longitude_b" ; + lon_b:units = "degrees_east" ; + lon_b:scale_factor = 1.f ; + lon_b:add_offset = 0.f ; + lon_b:missing_value = -9999.f ; + lon_b:vmin = 0.f ; + lon_b:vmax = 0.f ; + +// global attributes: + :MAP_PROJECTION = "EQUIDISTANT CYLINDRICAL" ; + :SOUTH_WEST_CORNER_LAT = 5.125f ; + :SOUTH_WEST_CORNER_LON = -5.875f ; + :DX = 0.25f ; + :DY = 0.25f ; + :INC_WATER_PTS = "false" ; + :LANDCOVER_SCHEME = "IGBPNCEP" ; + :NUMBER_LANDCATS = 20 ; + :BARESOILCLASS = 16 ; + :URBANCLASS = 13 ; + :SNOWCLASS = 15 ; + :WATERCLASS = 17 ; + :WETLANDCLASS = 11 ; + :GLACIERCLASS = 15 ; + :CROPCLASS = 12 ; + :NUMVEGTYPES = 17 ; + :LANDMASK_SOURCE = "MODIS_Native" ; + :SFCMODELS = "Noah-MP.3.6" ; + :CROPCLASS_SCHEME = "CROPMAP" ; + :CROPCLASS_NUMBER = 19 ; + :SOILTEXT_SCHEME = "STATSGO" ; + :NUMBER_SOILTYPES = 19 ; + :NUMBER_SLOPETYPES = 9 ; + :GREENNESS_DATA_INTERVAL = "monthly" ; + :ALBEDO_DATA_INTERVAL = "monthly" ; + :title = "Land Data Toolkit (LDT) parameter-processed output" ; + :institution = "NASA GSFC Hydrological Sciences Laboratory" ; + :history = "created on date: 2020-06-01T16:52:51.834" ; + :references = "Kumar_etal_EMS_2006, Peters-Lidard_etal_ISSE_2007" ; + :comment = "website: http://lis.gsfc.nasa.gov/" ; +} diff --git a/lis/testcases/dataassim/extendDA/lis.config b/lis/testcases/dataassim/extendDA/lis.config new file mode 100644 index 000000000..2d06c905a --- /dev/null +++ b/lis/testcases/dataassim/extendDA/lis.config @@ -0,0 +1,261 @@ +#Overall driver options +Running mode: retrospective +Map projection of the LIS domain: latlon +Number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Surface model output interval: 1da +Land surface model: "NoahMP.3.6" +Number of ensembles per tile: 20 +Number of met forcing sources: 1 +Met forcing sources: "MERRA2" +Blending method for forcings: "overlay" +Topographic correction method (met forcing): "none" +Enable spatial downscaling of precipitation: 0 0 +Spatial interpolation method (met forcing): "budget-bilinear" +Temporal interpolation method (met forcing): "linear" +Spatial upscaling method (met forcing): "none" + +#Runtime options +Forcing variables list file: ./input/forcing_variables.txt +Output forcing: 1 #1-yes +Output parameters: 0 #0- no +Output methodology: "2d gridspace" +Output model restart files: 1 +Output data format: "netcdf" +Output naming style: "3 level hierarchy" +Start mode: coldstart # +Starting year: 2001 +Starting month: 5 +Starting day: 2 +Starting hour: 23 +Starting minute: 0 +Starting second: 0 +Ending year: 2001 +Ending month: 5 +Ending day: 4 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +Undefined value: -9999 +Output directory: OUTPUT +Diagnostic output file: lislog + +#The following options are used for subgrid tiling based on vegetation +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +#Processor layout +#Should match the total number of processor used +Number of processors along x: 4 +Number of processors along y: 4 +Halo size along x: 0 +Halo size along y: 0 + +#Sub-models +Radiative transfer model: none +Number of application models: 0 + +#------------------------ ROUTING ------------------------------------- +#HYMAP2 router + +Routing model: "HYMAP2 router" + +HYMAP2 routing model time step: "15mn" +TEMPLATE model timestep: "15mn" +HYMAP2 routing model output interval: "1da" +HYMAP2 routing model restart interval: "1mo" + +# method: enter "kinematic", "diffusive" or "local inertia" +# linear reservoir flag: enter 1 - use; or 0 - do not use linear reservoirs +# evaporation option: enter "penman" - compute; or "none" - do not compute evapotation in floodplains; +# floodplain dynamics option: enter 1 - compute floodplain dynamics; or 0 - do not compute floodplain dynamics +# time step method: enter "constant" or "adaptive" +# if "adaptive" time step, provide alfa coefficient value +# +# +HYMAP2 routing method: "local inertia" # "kinematic" # +HYMAP2 routing model time step method: "adaptive" # "constant" # +HYMAP2 routing model adaptive time step alfa coefficient: 0.5 +HYMAP2 run in ensemble mode: 1 +HYMAP2 routing model linear reservoir flag: 0 +HYMAP2 routing model evaporation option: none # "penman" +HYMAP2 routing model start mode: coldstart +HYMAP2 routing model restart file: LIS_RST_HYMAP2_router_200105312345.d01.nc +HYMAP2 floodplain dynamics: 1 +HYMAP2 enable 2-way coupling: 0 + +HYMAP2 reservoir operation option: 0 +HYMAP2 number of reservoirs: 1 +HYMAP2 reservoir operation input time series size: 2 +HYMAP2 reservoir operation input directory: ./ +HYMAP2 reservoir operation header filename: ./header_test.txt +HYMAP2 reservoir operation input data type: "water level" # "streamflow" # + +HYMAP2 routing model dwi flag: 0 +HYMAP2 use localization update in DA: 1 +HYMAP2 localization update window size: 10 +HYMAP2 localization weight map: ./input/distance_map_volta.nc + + +#---------------------DATA ASSIMILATION ---------------------------------- +#Perturbation options +Perturbations start mode: "coldstart" +Perturbations restart output interval: "1mo" +Perturbations restart filename: ./LIS_DAPERT_200207312345.d01.bin + +Forcing perturbation algorithm: "GMAO scheme" +Forcing perturbation frequency: "1hr" +Forcing attributes file: ./input/forcing_attribs.txt +Forcing perturbation attributes file: ./input/forcing_pert_attribs.txt + +State perturbation algorithm: "GMAO scheme" +State perturbation frequency: "3hr" +State attributes file: ./input/hymap_routing_attribs.txt +State perturbation attributes file: ./input/hymap_routing_pertattribs.txt + +Observation perturbation algorithm: "GMAO scheme" +Observation perturbation frequency: "6hr" +Observation attributes file: ./input/synobs_attribs.txt +Observation perturbation attributes file: ./input/synobs_pertattribs.txt + +Apply perturbation bias correction: 1 + +Number of data assimilation instances: 1 +Data assimilation algorithm: "EnKF" +Data assimilation set: "Synthetic water level" +Data assimilation exclude analysis increments: 0 +Data assimilation number of observation types: 1 + +Data assimilation output interval for diagnostics: "1da" +Data assimilation output processed observations: 1 +Data assimilation output ensemble spread: 0 +Data assimilation scaling strategy: "none" +Data assimilation output innovations: 0 0 + +Data assimilation use a trained forward model: 0 0 +Data assimilation trained forward model output file: none + +Bias estimation algorithm: "none" + +Data assimilation observation domain file: ./lis_input.d01.nc + +Synthetic water level data directory: ./input/synWLobs/ + +#The following options list the choice of parameter maps to be used +LIS domain and parameter data file: ./lis_input.d01.nc +Landmask data source: LDT +Landcover data source: LDT +Soil texture data source: LDT +Soil fraction data source: none +Soil color data source: none +Elevation data source: LDT +Slope data source: none +Aspect data source: none +Curvature data source: none +LAI data source: none +SAI data source: none +Albedo data source: LDT +Max snow albedo data source: LDT +Greenness data source: LDT +Roughness data source: none +Porosity data source: none +Ksat data source: none +B parameter data source: none +Quartz data source: none +Emissivity data source: none + +#Bottom soil temperature options +TBOT lag skin temperature update option: 0 +TBOT skin temperature lag days: 0 + +#--------------------------------FORCINGS---------------------------------- +# MERRA-2 base forcing: +MERRA2 forcing directory: ./input/MET_FORCING/MERRA2/ +MERRA2 use lowest model level forcing: 1 +MERRA2 use corrected total precipitation: 1 + +#-----------------------LAND SURFACE MODELS-------------------------- +Noah-MP.3.6 model timestep: 15mn +Noah-MP.3.6 restart output interval: 1mo +Noah-MP.3.6 restart file: LIS_RST_NOAHMP36_200105312345.d01.nc +Noah-MP.3.6 restart file format: netcdf +Noah-MP.3.6 landuse parameter table: ./input/LS_PARAMETERS/noahmp_params/VEGPARM.TBL +Noah-MP.3.6 soil parameter table: ./input/LS_PARAMETERS/noah3X_parms/SOILPARM.TBL.2017 +Noah-MP.3.6 general parameter table: ./input/LS_PARAMETERS/noahmp_params/GENPARM.TBL +Noah-MP.3.6 MP parameter table: ./input/LS_PARAMETERS/noahmp_params/MPTABLE_UMD.TBL +Noah-MP.3.6 number of soil layers: 4 +Noah-MP.3.6 soil layer thickness: 0.1 0.3 0.6 1.0 +Noah-MP.3.6 number of snow layers: 3 +Noah-MP.3.6 vegetation model option: 2 # 1=prescribed; 2=dynamic; 3=calculate; 4 +=maximum +Noah-MP.3.6 canopy stomatal resistance option: 1 # 1=Ball-Berry; 2=Jarvis +Noah-MP.3.6 soil moisture factor for stomatal resistance option: 1 # 1=Noah; 2=CLM; 3=SSiB +Noah-MP.3.6 runoff and groundwater option: 1 # 1=SIMGM; 2=SIMTOP; 3=Schaake96; 4=BATS +Noah-MP.3.6 surface layer drag coefficient option: 1 # 1=M-O; 2=Chen97 +Noah-MP.3.6 supercooled liquid water option: 1 # 1=NY06; 2=Koren99 +Noah-MP.3.6 frozen soil permeability option: 1 # 1=NY06; 2=Koren99 +Noah-MP.3.6 radiation transfer option: 1 # 1=gap=F(3D;cosz); 2=gap=0; 3=gap=1-Fveg +Noah-MP.3.6 snow surface albedo option: 2 # 1=BATS; 2=CLASS +Noah-MP.3.6 rainfall and snowfall option: 1 # 1=Jordan91; 2=BATS; 3=Noah +Noah-MP.3.6 lower boundary of soil temperature option: 2 # 1=zero-flux; 2=Noah +Noah-MP.3.6 snow and soil temperature time scheme: 1 # 1=semi-implicit; 2=fully implicit +Noah-MP.3.6 soil color index: 4 +Noah-MP.3.6 CZIL option (iz0tlnd): 0 +Noah-MP.3.6 initial value of snow albedo at the last timestep: 0.2 +Noah-MP.3.6 initial value of snow mass at the last timestep: 0.0 +Noah-MP.3.6 initial soil temperatures: 288.0 288.0 288.0 288.0 +Noah-MP.3.6 initial total soil moistures: 0.20 0.20 0.20 0.20 +Noah-MP.3.6 initial liquid soil moistures: 0.20 0.20 0.20 0.20 +Noah-MP.3.6 initial canopy air temperature: 288.0 +Noah-MP.3.6 initial canopy air vapor pressure: 261.68518 +Noah-MP.3.6 initial wetted or snowed fraction of canopy: 0.0 +Noah-MP.3.6 initial intercepted liquid water: 0.0 +Noah-MP.3.6 initial intercepted ice mass: 0.0 +Noah-MP.3.6 initial vegetation temperature: 288.0 +Noah-MP.3.6 initial ground temperature: 288.0 +Noah-MP.3.6 initial snowfall on the ground: 0.0 +Noah-MP.3.6 initial snow height: 0.0 +Noah-MP.3.6 initial snow water equivalent: 0.0 +Noah-MP.3.6 initial depth to water table: 2.5 +Noah-MP.3.6 initial water storage in aquifer: 4900.0 +Noah-MP.3.6 initial water in aquifer and saturated soil: 4900.0 +Noah-MP.3.6 initial lake water storage: 0.0 +Noah-MP.3.6 initial leaf mass: 9.0 +Noah-MP.3.6 initial mass of fine roots: 500.0 +Noah-MP.3.6 initial stem mass: 3.33 +Noah-MP.3.6 initial mass of wood including woody roots: 500.0 +Noah-MP.3.6 initial stable carbon in deep soil: 1000.0 +Noah-MP.3.6 initial short-lived carbon in shallow soil: 1000.0 +Noah-MP.3.6 initial LAI: 0.5 +Noah-MP.3.6 initial SAI: 0.1 +Noah-MP.3.6 initial momentum drag coefficient: 0.0 +Noah-MP.3.6 initial sensible heat exchange coefficient: 0.0 +Noah-MP.3.6 initial snow aging term: 0.0 +Noah-MP.3.6 initial soil water content between bottom of the soil and water table: 0.0 +Noah-MP.3.6 initial recharge to or from the water table when deep: 0.0 +Noah-MP.3.6 initial recharge to or from the water table when shallow: 0.0 +Noah-MP.3.6 initial reference height of temperature and humidity: 10.0 + +#---------------------------MODEL OUTPUT CONFIGURATION----------------------- +#Specify the list of ALMA variables that need to be featured in the +#LSM model output +Output start year: +Output start month: +Output start day: +Output start hour: +Output start minutes: +Output start seconds: + +Model output attributes file: ./MODEL_OUTPUT_LIST.TBL + diff --git a/lis/testcases/dataassim/extendDA/output-routing.ctl b/lis/testcases/dataassim/extendDA/output-routing.ctl new file mode 100644 index 000000000..3345d71df --- /dev/null +++ b/lis/testcases/dataassim/extendDA/output-routing.ctl @@ -0,0 +1,18 @@ +dset ^OUTPUT/ROUTING/%y4%m2/LIS_HIST_%y4%m2%d20000.d01.nc +dtype netcdf +options template +undef -9999 +xdef 36 linear -5.875 0.25 +ydef 40 linear 5.125 0.25 +zdef 1 linear 1 1 +tdef 2 linear 00z03may2001 1dy +vars 8 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Streamflow_tavg=>Streamflow_tavg 1 y,x description +RiverStor_tavg=>RiverStor_tavg 1 y,x description +RiverDepth_tavg=>RiverDepth_tavg 1 y,x description +RiverFlowVelocity_tavg=>RiverFlowVelocity_tavg 1 y,x description +FloodStor_tavg=>FloodStor_tavg 1 y,x description +SurfElev_tavg=>SurfElev_tavg 1 y,x description +endvars diff --git a/lis/testcases/dataassim/extendDA/output.ctl b/lis/testcases/dataassim/extendDA/output.ctl new file mode 100644 index 000000000..318375c0e --- /dev/null +++ b/lis/testcases/dataassim/extendDA/output.ctl @@ -0,0 +1,13 @@ +dset ^OUTPUT/SURFACEMODEL/%y4%m2/LIS_HIST_%y4%m2%d20000.d01.nc +dtype netcdf +options template +undef -9999 +xdef 36 linear -5.875 0.25 +ydef 40 linear 5.125 0.25 +zdef 1 linear 1 1 +tdef 2 linear 00z03may2001 1dy +vars 3 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +LAI_tavg=>LAI_tavg 1 y,x description +endvars diff --git a/lis/testcases/dataassim/extendDA/testcase-routing.ctl b/lis/testcases/dataassim/extendDA/testcase-routing.ctl new file mode 100644 index 000000000..f645176c2 --- /dev/null +++ b/lis/testcases/dataassim/extendDA/testcase-routing.ctl @@ -0,0 +1,18 @@ +dset ^TARGET_OUTPUT/ROUTING/%y4%m2/LIS_HIST_%y4%m2%d20000.d01.nc +dtype netcdf +options template +undef -9999 +xdef 36 linear -5.875 0.25 +ydef 40 linear 5.125 0.25 +zdef 1 linear 1 1 +tdef 2 linear 00z03may2001 1dy +vars 8 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Streamflow_tavg=>Streamflow_tavg 1 y,x description +RiverStor_tavg=>RiverStor_tavg 1 y,x description +RiverDepth_tavg=>RiverDepth_tavg 1 y,x description +RiverFlowVelocity_tavg=>RiverFlowVelocity_tavg 1 y,x description +FloodStor_tavg=>FloodStor_tavg 1 y,x description +SurfElev_tavg=>SurfElev_tavg 1 y,x description +endvars diff --git a/lis/testcases/dataassim/extendDA/testcase.ctl b/lis/testcases/dataassim/extendDA/testcase.ctl new file mode 100644 index 000000000..388e9a4a2 --- /dev/null +++ b/lis/testcases/dataassim/extendDA/testcase.ctl @@ -0,0 +1,13 @@ +dset ^TARGET_OUTPUT/SURFACEMODEL/%y4%m2/LIS_HIST_%y4%m2%d20000.d01.nc +dtype netcdf +options template +undef -9999 +xdef 36 linear -5.875 0.25 +ydef 40 linear 5.125 0.25 +zdef 1 linear 1 1 +tdef 2 linear 00z03may2001 1dy +vars 3 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +LAI_tavg=>LAI_tavg 1 y,x description +endvars diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/MODEL_OUTPUT_LIST.TBL b/lis/testcases/metforcing/gefs025degOperationalforcing/MODEL_OUTPUT_LIST.TBL new file mode 100644 index 000000000..41115eb5e --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/MODEL_OUTPUT_LIST.TBL @@ -0,0 +1,105 @@ +#short_name select? units signconv timeavg? min/max? std? vert.levels grib_id grib_scalefactor longname + +#Energy balance components +Swnet: 0 W/m2 DN 1 0 0 1 111 10 # Net Shortwave Radiation (W/m2) +Lwnet: 0 W/m2 DN 1 0 0 1 112 10 # Net Longwave Radiation (W/m2) +Qle: 0 W/m2 UP 1 0 0 1 121 10 # Latent Heat Flux (W/m2) +Qh: 0 W/m2 UP 1 0 0 1 122 10 # Sensible Heat Flux (W/m2) +Qg: 0 W/m2 DN 1 0 0 1 155 10 # Ground Heat Flux (W/m2) +Qf: 0 W/m2 S2L 1 0 0 1 229 10 # Energy of fusion (W/m2) +Qv: 0 W/m2 S2V 1 0 0 1 134 10 # Energy of sublimation (W/m2) +Qa: 0 W/m2 DN 1 0 0 1 136 10 # Advective Energy (W/m2) +Qtau: 0 N/m2 DN 1 0 0 1 135 10 # Momentum flux (N/m2) +DelSurfHeat: 0 J/m2 INC 1 0 0 1 137 10 # Change in surface heat storage (J/m2) +DelColdCont: 0 J/m2 INC 1 0 0 1 138 10 # Change in snow cold content (J/m2) +BR: 0 - - 1 0 1 1 256 10 # Bowen ratio +EF: 0 - - 1 0 1 1 256 10 # Evaporative fraction + +#Water balance components +Snowf: 0 kg/m2s DN 1 0 0 1 161 10000 # Snowfall rate (kg/m2s) +Rainf: 0 kg/m2s DN 1 0 0 1 162 10000 # Rainfall rate (kg/m2s) +RainfConv: 0 kg/m2s DN 1 0 0 1 163 10000 # Convective Rainfall rate (kg/m2s) +TotalPrecip: 0 kg/m2s DN 1 0 0 1 164 10000 # Total Precipitation rate (kg/m2s) +Evap: 0 kg/m2s UP 1 0 0 1 57 10000 # Total Evapotranspiration (kg/m2s) +Qs: 0 kg/m2s OUT 1 0 0 1 235 10000 # Surface runoff (kg/m2s) +Qsb: 0 kg/m2s OUT 1 0 0 1 254 10000 # Subsurface runoff (kg/m2s) +Qrec: 0 kg/m2s IN 1 0 0 1 143 10000 # Recharge (kg/m2s) +Qsm: 0 kg/m2s S2L 1 0 0 1 99 10000 # Snowmelt (kg/m2s) +Qfz: 0 kg/m2s L2S 1 0 0 1 146 10000 # Refreezing of water in the snowpack (kg/m2s) +Qst: 0 kg/m2s - 1 0 0 1 147 10000 # Snow throughfall (kg/m2s) +DelSoilMoist: 0 kg/m2 INC 0 0 0 1 148 10000 # Change in soil moisture (kg/m2) +DelSWE: 0 kg/m2 INC 0 0 0 1 149 1000 # Change in snow water equivalent (kg/m2) +DelSurfStor: 0 kg/m2 INC 1 0 0 1 150 1000 # Change in surface water storage (kg/m2) +DelIntercept: 0 kg/m2 INC 1 0 0 1 151 1000 # Change in interception storage (kg/m2) +RHMin: 0 - - 0 0 0 1 51 10 # Minimum 2 meter relative humidity (-) + +#Surface state variables +SnowT: 0 K - 1 0 0 1 152 10 # Snow surface temperature (K) +VegT: 0 K - 1 0 0 1 153 10 # Vegetation canopy temperature (K) +BareSoilT: 0 K - 1 0 0 1 154 10 # Temperature of bare soil (K) +AvgSurfT: 0 K - 0 0 0 1 148 10 # Average surface temperature (K) +RadT: 0 K - 1 0 0 1 156 10 # Surface Radiative Temperature (K) +Albedo: 0 - - 0 0 0 1 84 100 # Surface Albedo (-) +SWE: 0 kg/m2 - 0 0 0 1 65 1000 # Snow Water Equivalent (kg/m2) +SWEVeg: 0 kg/m2 - 1 0 0 1 159 1000 # SWE intercepted by vegetation (kg/m2) +SurfStor: 0 kg/m2 - 1 0 0 1 160 1000 # Surface water storage (kg/m2) + +#Subsurface state variables +SoilMoist: 0 m3/m3 - 1 0 0 4 86 1000 # Average layer soil moisture (kg/m2) +SoilTemp: 0 K - 0 0 0 4 85 1000 # Average layer soil temperature (K) +SmLiqFrac: 0 - - 1 0 0 4 85 100 # Average layer fraction of liquid moisture (-) +SmFrozFrac: 0 - - 1 0 0 4 85 100 # Average layer fraction of frozen moisture (-) +SoilWet: 0 - - 0 0 0 1 85 100 # Total soil wetness (-) +RelSMC: 0 m3/m3 - 0 0 0 1 86 1000 # Relative soil moisture +RootTemp: 0 K - 0 0 0 1 85 1000 # Rootzone temperature (K) + +#Evaporation components +PotEvap: 0 kg/m2s UP 3 0 0 1 166 1 # Potential Evapotranspiration (kg/m2s) +TVeg: 0 kg/m2s UP 1 0 0 1 210 1 # Vegetation transpiration (kg/m2s) +ECanop: 0 kg/m2s UP 1 0 0 1 200 1 # Interception evaporation (kg/m2s) +ESoil: 0 kg/m2s UP 1 0 0 1 199 1 # Bare soil evaporation (kg/m2s) +EWater: 0 kg/m2s UP 1 0 0 1 170 1 # Open water evaporation (kg/m2s) +RootMoist: 0 kg/m2 - 0 0 0 1 171 1 # Root zone soil moisture (kg/m2) +CanopInt: 0 kg/m2 - 0 0 0 1 223 1000 # Total canopy water storage (kg/m2) +EvapSnow: 0 kg/m2s - 1 0 0 1 173 1000 # Snow evaporation (kg/m2s) +SubSnow: 0 kg/m2s - 1 0 0 1 198 1000 # Snow sublimation (kg/m2s) +SubSurf: 0 kg/m2s - 1 0 0 1 175 1000 # Sublimation of the snow free area (kg/m2s) +ACond: 0 m/s - 1 0 0 1 179 100000 # Aerodynamic conductance +CCond: 0 m/s - 1 0 0 1 179 1000000 # Canopy conductance + +#Cold season processes +Snowcover: 0 - - 0 0 0 1 66 100 # Snow Cover (-) +SnowDepth: 0 m - 0 0 0 1 66 1000 # Snow Depth (m) +SLiqFrac: 0 - - 0 0 0 1 65 1000 # Fraction of SWE in the liquid phase + +#Forcings +Wind_f: 1 m/s - 0 0 0 1 177 10 # Near Surface Wind (m/s) +Rainf_f: 1 kg/m2s DN 0 0 0 1 162 1000 # Average rainfall rate +Snowf_f: 0 kg/m2s DN 0 0 0 1 161 1000 # Average snowfall rate +Tair_f: 1 K - 0 0 0 1 11 10 # Near surface air temperature +Qair_f: 1 kg/kg - 0 0 0 1 51 1000 # Near surface specific humidity +Psurf_f: 1 Pa - 0 0 0 1 1 10 # Surface pressure +SWdown_f: 1 W/m2 DN 0 0 0 1 204 10 # Surface incident shortwave radiation +LWdown_f: 1 W/m2 DN 0 0 0 1 205 10 # Surface incident longwave radiation + +#Parameters +Landmask: 0 - - 0 0 0 1 81 1 # Land Mask (0 - Water, 1- Land) +Landcover: 0 - - 0 0 0 1 186 1 # Land cover +Soiltype: 0 - - 0 0 0 1 187 1 # Soil type +SandFrac: 0 - - 0 0 0 1 999 1 # Sand fraction +ClayFrac: 0 - - 0 0 0 1 999 1 # Clay fraction +SiltFrac: 0 - - 0 0 0 1 999 1 # Silt fraction +Porosity: 0 - - 3 0 0 1 999 1 # Porosity +Soilcolor: 0 - - 0 0 0 1 188 1 # Soil color +Elevation: 0 m - 0 0 0 1 189 10 # Elevation +Slope: 0 - - 0 0 0 1 999 10 # Slope +LAI: 0 - - 0 0 0 1 190 100 # LAI +SAI: 0 - - 0 0 0 1 191 100 # SAI +Snfralbedo: 0 - - 0 0 0 1 192 100 # Snow fraction albedo +Mxsnalbedo: 0 - - 0 0 0 1 192 100 # Maximum snow albedo +Greenness: 0 - - 0 0 0 1 87 100 # Greenness +Tempbot: 0 K - 0 0 0 1 194 10 # Bottom soil temperature + +#Irrigation +Irrigated water: 0 kg/m2s - 1 0 0 1 333 10 #Irrigation amount + diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/README b/lis/testcases/metforcing/gefs025degOperationalforcing/README new file mode 100644 index 000000000..8c5e6c3f3 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/README @@ -0,0 +1,28 @@ +GEFS 0.25deg Operational Reader Test Case + +This test-case performs a 1/2 degree simulation +from 2021-11-05 to 2021-11-06 to test the processing +of the 0.25 deg GEFS operational forcing data set. + +This directory contains: + +* this README file. +* the lis.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* the MODEL_OUTPUT_LIST.TBL file used to specify the output variables. +* a sample grads control file that can be used to visualize the + output. (output.ctl) +* a sample grads control file that can be used to visualize the + test case output. (testcase.ctl) + +To run this test case: + +* Generate the LIS executable. +* Run the LIS executable using the lis.config file and your sample + input data. + +Notes: + +This feature was added in pull request #1002: +http://github.com/nasa-lis/lisf/pull/1002 diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/input.ctl b/lis/testcases/metforcing/gefs025degOperationalforcing/input.ctl new file mode 100644 index 000000000..3cd04636f --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/input.ctl @@ -0,0 +1,43 @@ +dset ^lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +TDEF 1 LINEAR 00z01jan2020 03hr +vars 33 +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/input_testcase.ctl b/lis/testcases/metforcing/gefs025degOperationalforcing/input_testcase.ctl new file mode 100644 index 000000000..699a0e262 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/input_testcase.ctl @@ -0,0 +1,43 @@ +dset ^TARGET_OUTPUT/lis_input.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +TDEF 1 LINEAR 00z01jan2020 03hr +vars 33 +LANDMASK=>LANDMASK 1 y,x description +SURFACETYPE=>SURFACETYPE1 0 0,y,x description +SURFACETYPE=>SURFACETYPE2 0 1,y,x description +SURFACETYPE=>SURFACETYPE3 0 2,y,x description +SURFACETYPE=>SURFACETYPE4 0 3,y,x description +SURFACETYPE=>SURFACETYPE5 0 4,y,x description +SURFACETYPE=>SURFACETYPE6 0 5,y,x description +SURFACETYPE=>SURFACETYPE7 0 6,y,x description +SURFACETYPE=>SURFACETYPE8 0 7,y,x description +SURFACETYPE=>SURFACETYPE9 0 8,y,x description +SURFACETYPE=>SURFACETYPE10 0 9,y,x description +SURFACETYPE=>SURFACETYPE11 0 10,y,x description +SURFACETYPE=>SURFACETYPE12 0 11,y,x description +SURFACETYPE=>SURFACETYPE13 0 12,y,x description +SURFACETYPE=>SURFACETYPE14 0 13,y,x description +LANDCOVER=>LANDCOVER1 0 0,y,x description +LANDCOVER=>LANDCOVER2 0 1,y,x description +LANDCOVER=>LANDCOVER3 0 2,y,x description +LANDCOVER=>LANDCOVER4 0 3,y,x description +LANDCOVER=>LANDCOVER5 0 4,y,x description +LANDCOVER=>LANDCOVER6 0 5,y,x description +LANDCOVER=>LANDCOVER7 0 6,y,x description +LANDCOVER=>LANDCOVER8 0 7,y,x description +LANDCOVER=>LANDCOVER9 0 8,y,x description +LANDCOVER=>LANDCOVER10 0 9,y,x description +LANDCOVER=>LANDCOVER11 0 10,y,x description +LANDCOVER=>LANDCOVER12 0 11,y,x description +LANDCOVER=>LANDCOVER13 0 12,y,x description +LANDCOVER=>LANDCOVER14 0 13,y,x description +ELEVFGRD=>ELEVFGRD 1 y,x description +ELEVATION=>ELEVATION 1 y,x description +lat=>lat 1 y,x description +lon=>lon 1 y,x description +endvars diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/ldt.config b/lis/testcases/metforcing/gefs025degOperationalforcing/ldt.config new file mode 100644 index 000000000..4a263c745 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/ldt.config @@ -0,0 +1,139 @@ + +# == LDT Main Entry Options == + +LDT running mode: "LSM parameter processing" # LDT type of run-mode (top-level option) +Processed LSM parameter filename: ./lis_input.d01.nc # Final output file read by LIS-7 + +LIS number of nests: 1 # Total number of nests run by LIS +Number of surface model types: 1 # Total number of desired surface model types +Surface model types: "LSM" # Surface models: LSM | Openwater +Land surface model: "Noah.3.6" # Enter LSM(s) of choice +Lake model: "none" # Enter Lake model(s) of choice +Water fraction cutoff value: 0.5 # Fraction at which gridcell is designated as 'water' +Incorporate crop information: .false. # .true. = incorporate crop/irrig info with LSM parameters + +Number of met forcing sources: 0 # Enter number of forcing types +Met forcing sources: "GEFS Forecast" # Enter 'none' if no forcing selected +Met spatial transform methods: bilinear # bilinear | budget-bilinear | neighbor | average +Topographic correction method (met forcing): "none" # none | lapse-rate + +LDT diagnostic file: ldtlog # Log-based diagnostic output file +LDT output directory: OUTPUT # If metrics or stats are written out +Undefined value: -9999.0 # Universal undefined value +Number of ensembles per tile: 1 # The number of ensemble members per tile + +# Processor layout (currently not available) +Number of processors along x: 1 +Number of processors along y: 1 + +# LIS domain: (See LDT User's Guide for other projection information) +Map projection of the LIS domain: latlon +Run domain lower left lat: 25.0625 +Run domain lower left lon: -124.9375 +Run domain upper right lat: 52.9375 +Run domain upper right lon: -67.0625 +Run domain resolution (dx): 0.125 +Run domain resolution (dy): 0.125 + +# == Landcover, Landmask and Soil Texture Parameters == + +# Landcover/Mask Parameter Inputs +Landcover data source: "MODIS_Native" +Landcover classification: "IGBPNCEP" # Enter land cover classification type +Landcover file: ./input/noah_2dparms/igbp.bin # Landcover map path +Landcover spatial transform: tile # none | mode | neighbor | tile +Landcover fill option: none # none | neighbor (Not needed if creating landmask) +Landcover map projection: latlon + +# Create landmask field from readin landcover map or read in separate landmask file +Create or readin landmask: "create" # create | readin +Landmask data source: "MODIS_Native" # If 'created', recommended to put Landcover source name here +Landmask file: none # Land mask file (if needed to be read-in) +Landmask spatial transform: none # none | mode | neighbor + +#Soil texture map: +Soil texture data source: STATSGOFAO_Native +Soil texture map: ./input/noah_2dparms/topsoil30snew # Enter soil texture map +Soil texture spatial transform: mode # none | mode | neighbor | tile +Soil texture fill option: neighbor # none | neighbor +Soil texture fill radius: 5 # Number of pixels to search for neighbor +Soil texture fill value: 6 # Static value to fill where missing +Soil texture map projection: latlon + +Soils spatial transform: none # Note: do not use mode with soil fractions +Soils map projection: latlon + +# SRTM Elevation data entries: +Elevation data source: "SRTM_Native" +Elevation map: ./input/SRTM30/raw/ +Elevation number of bands: 1 +Elevation fill option: "neighbor" # Preserve elevation for water bodies +Elevation fill radius: 5 +Elevation fill value: 280 + +Aspect data source: "SRTM_Native" +Aspect map: ./input/SRTM30/raw/ +Aspect number of bands: 1 +Aspect fill option: "neighbor" +Aspect fill radius: 5 +Aspect fill value: 2 + +Topography spatial transform: average +Topography map projection: latlon + + +# == Main Noah LSM Parameters == + +# Albedo maps: +Albedo data source: NCEP_Native +Albedo map: ./input/noah_2dparms/albedo # Albedo files +Albedo climatology interval: monthly # monthly | quarterly +Albedo spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Albedo fill option: neighbor # none | neighbor | average +Albedo fill radius: 5 # Number of pixels to search for neighbor +Albedo fill value: 0.14 # Static value to fill where missing +Albedo map projection: latlon + +Max snow albedo data source: NCEP_Native +Max snow albedo map: ./input/noah_2dparms/maxsnoalb.asc # Max. snow albedo map +Max snow albedo spatial transform: budget-bilinear # average | neighbor | bilinear | budget-bilinear +Max snow albedo fill option: neighbor # none | neighbor | average +Max snow albedo fill radius: 5 # Number of pixels to search for neighbor +Max snow albedo fill value: 0.3 # Static value to fill where missing +Max snow albedo map projection: latlon + +# Greenness fraction maps: +Greenness data source: NCEP_Native +Greenness fraction map: ./input/noah_2dparms/gfrac # Greenness fraction map +Greenness climatology interval: monthly # monthly +Calculate min-max greenness fraction: .false. +Greenness maximum map: ./input/noah_2dparms/gfrac_max.asc # Maximum greenness fraction map +Greenness minimum map: ./input/noah_2dparms/gfrac_min.asc # Minimum greenness fraction map +Greenness spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Greenness fill option: neighbor # none | neighbor | average +Greenness fill radius: 5 # Number of pixels to search for neighbor +Greenness fill value: 0.30 # Static value to fill where missing +Greenness maximum fill value: 0.40 # Static value to fill where missing +Greenness minimum fill value: 0.20 # Static value to fill where missing +Greenness map projection: latlon + +# Slope type map: +Slope type data source: NCEP_Native +Slope type map: ./input/noah_2dparms/islope # Slope type map +Slope type spatial transform: neighbor # none | neighbor | mode +Slope type fill option: neighbor # none | neighbor +Slope type fill radius: 5 # Number of pixels to search for neighbor +Slope type fill value: 3. # Static value to fill where missing +Slope type map projection: latlon + +# Bottom temperature map (lapse-rate correction option): +Bottom temperature data source: ISLSCP1 +Bottom temperature map: ./input/noah_2dparms/SOILTEMP.60 # Bottom soil temperature file +Bottom temperature topographic downscaling: "lapse-rate" # none | lapse-rate +Bottom temperature spatial transform: bilinear # average | neighbor | bilinear | budget-bilinear +Bottom temperature fill option: average # none | average | neighbor +Bottom temperature fill radius: 5 # Number of pixels to search for neighbor +Bottom temperature fill value: 287. # Static value to fill where missing +Bottom temperature map projection: latlon # Projection type + +# ======================================================= diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/lis.config b/lis/testcases/metforcing/gefs025degOperationalforcing/lis.config new file mode 100644 index 000000000..50d3da4d4 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/lis.config @@ -0,0 +1,189 @@ +#Overall driver options +Running mode: "retrospective" +Map projection of the LIS domain: "latlon" +Number of nests: 1 +Number of surface model types: 1 +Surface model types: "LSM" +Land surface model: "none" +Surface model output interval: "6hr" #"1da" #"6hr" + +Number of met forcing sources: 1 +Blending method for forcings: "overlay" +Met forcing sources: "GEFS forecast" +Number of ensembles per tile: 11 + +Spatial interpolation method (met forcing): "bilinear" +Spatial upscaling method (met forcing): "average" +Temporal interpolation method (met forcing): "linear" +Topographic correction method (met forcing): "none" +Enable spatial downscaling of precipitation: 0 +Enable new zterp correction (met forcing): .false. + +#Runtime options +Forcing variables list file: ./input/noah_inputs/forcing_variables_noah33.txt +Output forcing: 1 #1-yes +Output parameters: 0 #0-no +Output methodology: "2d ensemble gridspace" +Output model restart files: 1 +Output data format: netcdf +Output naming style: "3 level hierarchy" +Start mode: coldstart +# +Starting year: 2021 +Starting month: 11 +Starting day: 05 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2021 +Ending month: 11 +Ending day: 06 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +# +Undefined value: -9999 +Output directory: './OUTPUT' +Diagnostic output file: './OUTPUT/lislog' + +#The following options are used for subgrid tiling based on vegetation +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.10 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.10 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.10 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.10 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.10 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.10 + +#Processor Layout +Number of processors along x: 12 +Number of processors along y: 10 +Halo size along x: 0 +Halo size along y: 0 + +#------------------------ IRRIGATION --------------------------------- + +Irrigation scheme: "none" + +#------------------------ ROUTING ------------------------------------- + +Routing model: "none" + +#------------------------RADIATIVE TRANSFER MODELS-------------------------- + +Radiative transfer model: "none" + +#------------------------APPLICATION MODELS--------------------------------- + +Number of application models: 0 + +#---------------------DATA ASSIMILATION ---------------------------------- +#Data Assimilation Options + +Number of data assimilation instances: 0 +Data assimilation algorithm: "none" +Data assimilation set: "none" +Number of state variables: 2 +Data assimilation exclude analysis increments: 1 +Data assimilation output interval for diagnostics: "1da" +Data assimilation number of observation types: 1 +Data assimilation output ensemble members: 0 +Data assimilation output processed observations: 0 +Data assimilation output innovations: 0 + +Bias estimation algorithm: "none" +Bias estimation attributes file: "none" +Bias estimation restart output frequency: +Bias estimation start mode: +Bias estimation restart file: + +#Perturbation options +Perturbations start mode: "coldstart" +Perturbations restart output interval: "1mo" +Perturbations restart filename: none + +Forcing perturbation algorithm: "none" +Forcing perturbation frequency: "1hr" +Forcing attributes file: ./forcing_attribs.txt +Forcing perturbation attributes file: ./forcing_pert_attribs.txt + +State perturbation algorithm: "none" +State perturbation frequency: "3hr" +State attributes file: ./lis_configs/noah_snow_attribs.txt +State perturbation attributes file: ./config/noah_snow_pertattribs.txt + +Observation perturbation algorithm: "none" +Observation perturbation frequency: "6hr" + + +#------------------------DOMAIN SPECIFICATION-------------------------- + +#The following options list the choice of parameter maps to be used: + +LIS domain and parameter data file: ./lis_input.d01.nc + +Landmask data source: "LDT" +Landcover data source: "LDT" +Soil texture data source: "LDT" +Soil fraction data source: "none" +Soil color data source: "none" +Elevation data source: "LDT" +Slope data source: "none" +Aspect data source: "none" +Curvature data source: "none" +LAI data source: "none" +SAI data source: "none" +Albedo data source: "LDT" +Max snow albedo data source: "LDT" +Greenness data source: "LDT" +Roughness data source: "none" +Porosity data source: "none" +Ksat data source: "none" +B parameter data source: "none" +Quartz data source: "none" +Emissivity data source: "none" + + +#--------------------------------FORCINGS---------------------------------- + +# GEFS - Reforecast2: +GEFS forecast directory: ./input/GEFS025 #./MET_FORCING/GEFS/Reforecast/ +GEFS forecast type: Operational # Reforecast2 | Operational +GEFS forecast run mode: forecast # forecast | analysis +GEFS forecast grid projection: latlon # latlon | gaussian +GEFS pressure level field: surface # surface | msl +GEFS forecast number of ensemble members: 4 +GEFS forecast grid resolution: 0.25 + +#-----------------------LAND SURFACE MODELS-------------------------- + +TEMPLATE model timestep: "30mn" +TEMPLATE restart output interval: "1mo" + + +#---------------------------MODEL OUTPUT CONFIGURATION----------------------- +#Specify the list of ALMA variables that need to be featured in the + +Model output attributes file: ./MODEL_OUTPUT_LIST.TBL + +# Which date/time want to start writing output: +Output start year: +Output start month: +Output start day: +Output start hour: +Output start minutes: +Output start seconds: + +# GRIB Output Type/Style: + +Output GRIB Table Version: 128 +Output GRIB Center Id: 57 +Output GRIB Subcenter Id: 2 +Output GRIB Process Id: 88 +Output GRIB Grid Id: 255 + diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/output.ctl b/lis/testcases/metforcing/gefs025degOperationalforcing/output.ctl new file mode 100644 index 000000000..c48063db0 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/output.ctl @@ -0,0 +1,90 @@ +DSET ^OUTPUT/SURFACEMODEL/202111/LIS_HIST_%y4%m2%d2%h200.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +* dummy tdef +TDEF 4 LINEAR 06z05nov2021 6hr +vars 79 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Wind_f_inst=>Wind_f_inst1 0 0,y,x description +Wind_f_inst=>Wind_f_inst2 0 1,y,x description +Wind_f_inst=>Wind_f_inst3 0 2,y,x description +Wind_f_inst=>Wind_f_inst4 0 3,y,x description +Wind_f_inst=>Wind_f_inst5 0 4,y,x description +Wind_f_inst=>Wind_f_inst6 0 5,y,x description +Wind_f_inst=>Wind_f_inst7 0 6,y,x description +Wind_f_inst=>Wind_f_inst8 0 7,y,x description +Wind_f_inst=>Wind_f_inst9 0 8,y,x description +Wind_f_inst=>Wind_f_inst10 0 9,y,x description +Wind_f_inst=>Wind_f_inst11 0 10,y,x description +Rainf_f_inst=>Rainf_f_inst1 0 0,y,x description +Rainf_f_inst=>Rainf_f_inst2 0 1,y,x description +Rainf_f_inst=>Rainf_f_inst3 0 2,y,x description +Rainf_f_inst=>Rainf_f_inst4 0 3,y,x description +Rainf_f_inst=>Rainf_f_inst5 0 4,y,x description +Rainf_f_inst=>Rainf_f_inst6 0 5,y,x description +Rainf_f_inst=>Rainf_f_inst7 0 6,y,x description +Rainf_f_inst=>Rainf_f_inst8 0 7,y,x description +Rainf_f_inst=>Rainf_f_inst9 0 8,y,x description +Rainf_f_inst=>Rainf_f_inst10 0 9,y,x description +Rainf_f_inst=>Rainf_f_inst11 0 10,y,x description +Tair_f_inst=>Tair_f_inst1 0 0,y,x description +Tair_f_inst=>Tair_f_inst2 0 1,y,x description +Tair_f_inst=>Tair_f_inst3 0 2,y,x description +Tair_f_inst=>Tair_f_inst4 0 3,y,x description +Tair_f_inst=>Tair_f_inst5 0 4,y,x description +Tair_f_inst=>Tair_f_inst6 0 5,y,x description +Tair_f_inst=>Tair_f_inst7 0 6,y,x description +Tair_f_inst=>Tair_f_inst8 0 7,y,x description +Tair_f_inst=>Tair_f_inst9 0 8,y,x description +Tair_f_inst=>Tair_f_inst10 0 9,y,x description +Tair_f_inst=>Tair_f_inst11 0 10,y,x description +Qair_f_inst=>Qair_f_inst1 0 0,y,x description +Qair_f_inst=>Qair_f_inst2 0 1,y,x description +Qair_f_inst=>Qair_f_inst3 0 2,y,x description +Qair_f_inst=>Qair_f_inst4 0 3,y,x description +Qair_f_inst=>Qair_f_inst5 0 4,y,x description +Qair_f_inst=>Qair_f_inst6 0 5,y,x description +Qair_f_inst=>Qair_f_inst7 0 6,y,x description +Qair_f_inst=>Qair_f_inst8 0 7,y,x description +Qair_f_inst=>Qair_f_inst9 0 8,y,x description +Qair_f_inst=>Qair_f_inst10 0 9,y,x description +Qair_f_inst=>Qair_f_inst11 0 10,y,x description +Psurf_f_inst=>Psurf_f_inst1 0 0,y,x description +Psurf_f_inst=>Psurf_f_inst2 0 1,y,x description +Psurf_f_inst=>Psurf_f_inst3 0 2,y,x description +Psurf_f_inst=>Psurf_f_inst4 0 3,y,x description +Psurf_f_inst=>Psurf_f_inst5 0 4,y,x description +Psurf_f_inst=>Psurf_f_inst6 0 5,y,x description +Psurf_f_inst=>Psurf_f_inst7 0 6,y,x description +Psurf_f_inst=>Psurf_f_inst8 0 7,y,x description +Psurf_f_inst=>Psurf_f_inst9 0 8,y,x description +Psurf_f_inst=>Psurf_f_inst10 0 9,y,x description +Psurf_f_inst=>Psurf_f_inst11 0 10,y,x description +SWdown_f_inst=>SWdown_f_inst1 0 0,y,x description +SWdown_f_inst=>SWdown_f_inst2 0 1,y,x description +SWdown_f_inst=>SWdown_f_inst3 0 2,y,x description +SWdown_f_inst=>SWdown_f_inst4 0 3,y,x description +SWdown_f_inst=>SWdown_f_inst5 0 4,y,x description +SWdown_f_inst=>SWdown_f_inst6 0 5,y,x description +SWdown_f_inst=>SWdown_f_inst7 0 6,y,x description +SWdown_f_inst=>SWdown_f_inst8 0 7,y,x description +SWdown_f_inst=>SWdown_f_inst9 0 8,y,x description +SWdown_f_inst=>SWdown_f_inst10 0 9,y,x description +SWdown_f_inst=>SWdown_f_inst11 0 10,y,x description +LWdown_f_inst=>LWdown_f_inst1 0 0,y,x description +LWdown_f_inst=>LWdown_f_inst2 0 1,y,x description +LWdown_f_inst=>LWdown_f_inst3 0 2,y,x description +LWdown_f_inst=>LWdown_f_inst4 0 3,y,x description +LWdown_f_inst=>LWdown_f_inst5 0 4,y,x description +LWdown_f_inst=>LWdown_f_inst6 0 5,y,x description +LWdown_f_inst=>LWdown_f_inst7 0 6,y,x description +LWdown_f_inst=>LWdown_f_inst8 0 7,y,x description +LWdown_f_inst=>LWdown_f_inst9 0 8,y,x description +LWdown_f_inst=>LWdown_f_inst10 0 9,y,x description +LWdown_f_inst=>LWdown_f_inst11 0 10,y,x description +endvars diff --git a/lis/testcases/metforcing/gefs025degOperationalforcing/testcase.ctl b/lis/testcases/metforcing/gefs025degOperationalforcing/testcase.ctl new file mode 100644 index 000000000..b8839df88 --- /dev/null +++ b/lis/testcases/metforcing/gefs025degOperationalforcing/testcase.ctl @@ -0,0 +1,90 @@ +DSET ^TARGET_OUTPUT/SURFACEMODEL/202111/LIS_HIST_%y4%m2%d2%h200.d01.nc +dtype netcdf +options template +undef -9999 +xdef 464 linear -124.9375 0.125 +ydef 224 linear 25.0625 0.125 +zdef 1 linear 1 1 +* dummy tdef +TDEF 4 LINEAR 06z05nov2021 6hr +vars 79 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Wind_f_inst=>Wind_f_inst1 0 0,y,x description +Wind_f_inst=>Wind_f_inst2 0 1,y,x description +Wind_f_inst=>Wind_f_inst3 0 2,y,x description +Wind_f_inst=>Wind_f_inst4 0 3,y,x description +Wind_f_inst=>Wind_f_inst5 0 4,y,x description +Wind_f_inst=>Wind_f_inst6 0 5,y,x description +Wind_f_inst=>Wind_f_inst7 0 6,y,x description +Wind_f_inst=>Wind_f_inst8 0 7,y,x description +Wind_f_inst=>Wind_f_inst9 0 8,y,x description +Wind_f_inst=>Wind_f_inst10 0 9,y,x description +Wind_f_inst=>Wind_f_inst11 0 10,y,x description +Rainf_f_inst=>Rainf_f_inst1 0 0,y,x description +Rainf_f_inst=>Rainf_f_inst2 0 1,y,x description +Rainf_f_inst=>Rainf_f_inst3 0 2,y,x description +Rainf_f_inst=>Rainf_f_inst4 0 3,y,x description +Rainf_f_inst=>Rainf_f_inst5 0 4,y,x description +Rainf_f_inst=>Rainf_f_inst6 0 5,y,x description +Rainf_f_inst=>Rainf_f_inst7 0 6,y,x description +Rainf_f_inst=>Rainf_f_inst8 0 7,y,x description +Rainf_f_inst=>Rainf_f_inst9 0 8,y,x description +Rainf_f_inst=>Rainf_f_inst10 0 9,y,x description +Rainf_f_inst=>Rainf_f_inst11 0 10,y,x description +Tair_f_inst=>Tair_f_inst1 0 0,y,x description +Tair_f_inst=>Tair_f_inst2 0 1,y,x description +Tair_f_inst=>Tair_f_inst3 0 2,y,x description +Tair_f_inst=>Tair_f_inst4 0 3,y,x description +Tair_f_inst=>Tair_f_inst5 0 4,y,x description +Tair_f_inst=>Tair_f_inst6 0 5,y,x description +Tair_f_inst=>Tair_f_inst7 0 6,y,x description +Tair_f_inst=>Tair_f_inst8 0 7,y,x description +Tair_f_inst=>Tair_f_inst9 0 8,y,x description +Tair_f_inst=>Tair_f_inst10 0 9,y,x description +Tair_f_inst=>Tair_f_inst11 0 10,y,x description +Qair_f_inst=>Qair_f_inst1 0 0,y,x description +Qair_f_inst=>Qair_f_inst2 0 1,y,x description +Qair_f_inst=>Qair_f_inst3 0 2,y,x description +Qair_f_inst=>Qair_f_inst4 0 3,y,x description +Qair_f_inst=>Qair_f_inst5 0 4,y,x description +Qair_f_inst=>Qair_f_inst6 0 5,y,x description +Qair_f_inst=>Qair_f_inst7 0 6,y,x description +Qair_f_inst=>Qair_f_inst8 0 7,y,x description +Qair_f_inst=>Qair_f_inst9 0 8,y,x description +Qair_f_inst=>Qair_f_inst10 0 9,y,x description +Qair_f_inst=>Qair_f_inst11 0 10,y,x description +Psurf_f_inst=>Psurf_f_inst1 0 0,y,x description +Psurf_f_inst=>Psurf_f_inst2 0 1,y,x description +Psurf_f_inst=>Psurf_f_inst3 0 2,y,x description +Psurf_f_inst=>Psurf_f_inst4 0 3,y,x description +Psurf_f_inst=>Psurf_f_inst5 0 4,y,x description +Psurf_f_inst=>Psurf_f_inst6 0 5,y,x description +Psurf_f_inst=>Psurf_f_inst7 0 6,y,x description +Psurf_f_inst=>Psurf_f_inst8 0 7,y,x description +Psurf_f_inst=>Psurf_f_inst9 0 8,y,x description +Psurf_f_inst=>Psurf_f_inst10 0 9,y,x description +Psurf_f_inst=>Psurf_f_inst11 0 10,y,x description +SWdown_f_inst=>SWdown_f_inst1 0 0,y,x description +SWdown_f_inst=>SWdown_f_inst2 0 1,y,x description +SWdown_f_inst=>SWdown_f_inst3 0 2,y,x description +SWdown_f_inst=>SWdown_f_inst4 0 3,y,x description +SWdown_f_inst=>SWdown_f_inst5 0 4,y,x description +SWdown_f_inst=>SWdown_f_inst6 0 5,y,x description +SWdown_f_inst=>SWdown_f_inst7 0 6,y,x description +SWdown_f_inst=>SWdown_f_inst8 0 7,y,x description +SWdown_f_inst=>SWdown_f_inst9 0 8,y,x description +SWdown_f_inst=>SWdown_f_inst10 0 9,y,x description +SWdown_f_inst=>SWdown_f_inst11 0 10,y,x description +LWdown_f_inst=>LWdown_f_inst1 0 0,y,x description +LWdown_f_inst=>LWdown_f_inst2 0 1,y,x description +LWdown_f_inst=>LWdown_f_inst3 0 2,y,x description +LWdown_f_inst=>LWdown_f_inst4 0 3,y,x description +LWdown_f_inst=>LWdown_f_inst5 0 4,y,x description +LWdown_f_inst=>LWdown_f_inst6 0 5,y,x description +LWdown_f_inst=>LWdown_f_inst7 0 6,y,x description +LWdown_f_inst=>LWdown_f_inst8 0 7,y,x description +LWdown_f_inst=>LWdown_f_inst9 0 8,y,x description +LWdown_f_inst=>LWdown_f_inst10 0 9,y,x description +LWdown_f_inst=>LWdown_f_inst11 0 10,y,x description +endvars diff --git a/lis/testcases/metforcing/gefsoperforcing/MODEL_OUTPUT_LIST.TBL b/lis/testcases/metforcing/gefsoperforcing/MODEL_OUTPUT_LIST.TBL new file mode 100644 index 000000000..1ccd2b5a3 --- /dev/null +++ b/lis/testcases/metforcing/gefsoperforcing/MODEL_OUTPUT_LIST.TBL @@ -0,0 +1,134 @@ +#short_name select? units signconv timeavg? min/max? std? vert.levels grib_id grib_scalefactor longname + +#Energy balance components +Swnet: 0 W/m2 DN 1 0 0 1 111 10 # Net Shortwave Radiation (W/m2) +Lwnet: 0 W/m2 DN 1 0 0 1 112 10 # Net Longwave Radiation (W/m2) +Qle: 1 W/m2 UP 1 0 0 1 121 10 # Latent Heat Flux (W/m2) +Qh: 1 W/m2 UP 1 0 0 1 122 10 # Sensible Heat Flux (W/m2) +Qg: 0 W/m2 DN 1 0 0 1 155 10 # Ground Heat Flux (W/m2) +Qf: 0 W/m2 S2L 1 0 0 1 229 10 # Energy of fusion (W/m2) +Qv: 0 W/m2 S2V 1 0 0 1 134 10 # Energy of sublimation (W/m2) +Qa: 0 W/m2 DN 1 0 0 1 136 10 # Advective Energy (W/m2) +Qtau: 0 N/m2 DN 1 0 0 1 135 10 # Momentum flux (N/m2) +DelSurfHeat: 0 J/m2 INC 1 0 0 1 137 10 # Change in surface heat storage (J/m2) +DelColdCont: 0 J/m2 INC 1 0 0 1 138 10 # Change in snow cold content (J/m2) +BR: 0 - - 1 0 1 1 256 10 # Bowen ratio +EF: 0 - - 1 0 1 1 256 10 # Evaporative fraction + +#Water balance components +Snowf: 0 kg/m2s DN 1 0 0 1 161 10000 # Snowfall rate (kg/m2s) +Rainf: 0 kg/m2s DN 1 0 0 1 162 10000 # Rainfall rate (kg/m2s) +RainfConv: 0 kg/m2s DN 1 0 0 1 163 10000 # Convective Rainfall rate (kg/m2s) +TotalPrecip: 1 kg/m2s DN 1 0 0 1 164 10000 # Total Precipitation rate (kg/m2s) +Evap: 1 kg/m2s UP 1 0 0 1 57 10000 # Total Evapotranspiration (kg/m2s) +Qs: 1 kg/m2s OUT 1 0 0 1 235 10000 # Surface runoff (kg/m2s) +Qrec: 0 kg/m2s IN 1 0 0 1 143 10000 # Recharge (kg/m2s) +Qsb: 1 kg/m2s OUT 1 0 0 1 254 10000 # Subsurface runoff (kg/m2s) +Qsm: 0 kg/m2s S2L 1 0 0 1 99 10000 # Snowmelt (kg/m2s) +Qfz: 0 kg/m2s L2S 1 0 0 1 146 10000 # Refreezing of water in the snowpack (kg/m2s) +Qst: 0 kg/m2s - 1 0 0 1 147 10000 # Snow throughfall (kg/m2s) +DelSoilMoist: 0 kg/m2 INC 0 0 0 1 148 10000 # Change in soil moisture (kg/m2) +DelSWE: 0 kg/m2 INC 0 0 0 1 149 1000 # Change in snow water equivalent (kg/m2) +DelSurfStor: 0 kg/m2 INC 1 0 0 1 150 1000 # Change in surface water storage (kg/m2) +DelIntercept: 0 kg/m2 INC 1 0 0 1 151 1000 # Change in interception storage (kg/m2) +RHMin: 0 - - 0 0 0 1 51 10 # Minimum 2 meter relative humidity (-) + +#Surface state variables +SnowT: 0 K - 1 0 0 1 152 10 # Snow surface temperature (K) +VegT: 0 K - 1 0 0 1 153 10 # Vegetation canopy temperature (K) +BareSoilT: 0 K - 1 0 0 1 154 10 # Temperature of bare soil (K) +AvgSurfT: 0 K - 1 0 0 1 148 10 # Average surface temperature (K) +RadT: 0 K - 1 0 0 1 156 10 # Surface Radiative Temperature (K) +Albedo: 0 - - 1 0 0 1 84 100 # Surface Albedo (-) +SWE: 1 kg/m2 - 1 0 0 1 65 1000 # Snow Water Equivalent (kg/m2) +SWEVeg: 0 kg/m2 - 1 0 0 1 159 1000 # SWE intercepted by vegetation (kg/m2) +SurfStor: 0 kg/m2 - 1 0 0 1 160 1000 # Surface water storage (kg/m2) +TWS: 0 mm - 1 0 0 1 160 1000 # + +#Subsurface state variables +SoilMoist: 1 m3/m3 - 1 0 0 4 86 1000 # Average layer soil moisture (kg/m2) +SoilTemp: 0 K - 1 0 0 4 85 1000 # Average layer soil temperature (K) +SmLiqFrac: 0 - - 1 0 0 4 85 100 # Average layer fraction of liquid moisture (-) +SmFrozFrac: 0 - - 1 0 0 4 85 100 # Average layer fraction of frozen moisture (-) +SoilWet: 0 - - 0 0 0 1 85 100 # Total soil wetness (-) +RelSMC: 0 m3/m3 - 0 0 0 1 86 1000 # Relative soil moisture +RootTemp: 0 K - 0 0 0 1 85 1000 # Rootzone temperature (K) + +#Evaporation components +PotEvap: 0 kg/m2s UP 1 0 0 1 166 1 # Potential Evapotranspiration (kg/m2s) +ECanop: 0 kg/m2s UP 1 0 0 1 200 1 # Interception evaporation (kg/m2s) +TVeg: 0 kg/m2s UP 1 0 0 1 210 1 # Vegetation transpiration (kg/m2s) +ESoil: 0 kg/m2s UP 1 0 0 1 199 1 # Bare soil evaporation (kg/m2s) +EWater: 0 kg/m2s UP 1 0 0 1 170 1 # Open water evaporation (kg/m2s) +RootMoist: 0 kg/m2 - 0 0 0 1 171 1 # Root zone soil moisture (kg/m2) +CanopInt: 0 kg/m2 - 1 0 0 1 223 1000 # Total canopy water storage (kg/m2) +EvapSnow: 0 kg/m2s - 1 0 0 1 173 1000 # Snow evaporation (kg/m2s) +SubSnow: 0 kg/m2s - 1 0 0 1 198 1000 # Snow sublimation (kg/m2s) +SubSurf: 0 kg/m2s - 1 0 0 1 175 1000 # Sublimation of the snow free area (kg/m2s) +ACond: 0 m/s - 1 0 0 1 179 100000 # Aerodynamic conductance +CCond: 0 m/s - 1 0 0 1 179 1000000 # Canopy conductance + +#Cold season processes +Snowcover: 0 - - 1 0 0 1 66 100 # Snow Cover (-) +SnowDepth: 1 m - 1 0 0 1 66 1000 # Snow Depth (m) +SLiqFrac: 0 - - 0 0 0 1 65 1000 # Fraction of SWE in the liquid phase + +#Forcings +Wind_f: 1 m/s - 1 0 0 1 177 10 # Near Surface Wind (m/s) +Rainf_f: 1 kg/m2s DN 1 0 0 1 162 1000 # Average rainfall rate +Snowf_f: 0 kg/m2s DN 1 0 0 1 161 1000 # Average snowfall rate +Tair_f: 1 K - 1 0 0 1 11 10 # Near surface air temperature +Qair_f: 1 kg/kg - 1 0 0 1 51 1000 # Near surface specific humidity +Psurf_f: 1 Pa - 1 0 0 1 1 10 # Surface pressure +SWdown_f: 1 W/m2 DN 1 0 0 1 204 10 # Surface incident shortwave radiation +LWdown_f: 1 W/m2 DN 1 0 0 1 205 10 # Surface incident longwave radiation + +#Additional forcings +DirectSW_f: 0 W/m2 - 0 0 0 1 256 10 # Surface direct incident shortwave radiation +DiffuseSW_f: 0 W/m2 - 0 0 0 1 256 10 # Surface diffuse incident shortwave radiation +NWind_f: 0 m/s N 0 0 0 1 256 10 # Northward wind +EWind_f: 0 m/s E 0 0 0 1 256 10 # Eastward wind +FHeight_f: 0 m - 0 0 0 1 256 10 # Height of forcing variables +CH_f: 0 - - 0 0 0 1 256 10 # Surface exchange coefficient for heat +CM_f: 0 - - 0 0 0 1 256 10 # Surface Exchange Coefficient for momentum +Emiss_f: 0 - - 0 0 0 1 256 10 # Surface emissivity +MixRatio_f: 0 kg/kg - 0 0 0 1 256 10 # Surface mixing ration +CosZenith_f: 0 - - 0 0 0 1 256 10 # Cosine of zenith angle +Albedo_f: 0 - - 0 0 0 1 256 10 # Surface albedo + +#Parameters +Landmask: 0 - - 0 0 0 1 81 1 # Land Mask (0 - Water, 1- Land) +Landcover: 0 - - 0 0 0 1 186 1 # Land cover +Soiltype: 0 - - 0 0 0 1 187 1 # Soil type +SandFrac: 0 - - 0 0 0 1 999 1 # Sand fraction +ClayFrac: 0 - - 0 0 0 1 999 1 # Clay fraction +SiltFrac: 0 - - 0 0 0 1 999 1 # Silt fraction +Porosity: 0 - - 3 0 0 1 999 1 # Porosity +Soilcolor: 0 - - 0 0 0 1 188 1 # Soil color +Elevation: 0 m - 0 0 0 1 189 10 # Elevation +Slope: 0 - - 0 0 0 1 999 10 # Slope +LAI: 1 - - 0 0 0 1 190 100 # LAI +SAI: 0 - - 0 0 0 1 191 100 # SAI +Snfralbedo: 0 - - 0 0 0 1 192 100 # Snow fraction albedo +Mxsnalbedo: 0 - - 0 0 0 1 192 100 # Maximum snow albedo +Greenness: 0 - - 0 0 0 1 87 100 # Greenness +Tempbot: 0 - - 0 0 0 1 194 10 # Bottom soil temperature + +#Routing +Streamflow: 1 m3/s - 1 0 0 1 333 10 #Streamflow +RiverStor: 0 m3 - 1 0 0 1 333 10 #RiverStorage +RiverDepth: 0 m - 1 0 0 1 333 10 #RiverDepth +RiverVelocity: 0 m/s - 1 0 0 1 333 10 #RiverVelocity +FloodQ: 0 m3/s - 1 0 0 1 333 10 #FloodDischarge +FloodEvap: 0 m3 - 1 0 0 1 333 10 #FloodEvap +FloodStor: 0 m3 - 1 0 0 1 333 10 #FloodStorage +FloodDepth: 0 m - 1 0 0 1 333 10 #FloodDepth +FloodVelocity: 0 m/s - 1 0 0 1 333 10 #FloodVelocity +FloodedFrac: 1 - - 1 0 0 1 333 10 #FloodedFrac +FloodedArea: 1 m2 - 1 0 0 1 333 10 #FloodedArea +SurfElev: 0 m - 1 0 0 1 333 10 #SurfElev +RunoffStor: 0 m3 - 1 0 0 1 333 10 #RunoffStor +BaseflowStor: 0 m3 - 1 0 0 1 333 10 #BaseflowStor + +#Irrigation +Irrigated water: 1 kg/m2s - 1 0 0 1 333 10 #Irrigation amount diff --git a/lis/testcases/metforcing/gefsoperforcing/README b/lis/testcases/metforcing/gefsoperforcing/README new file mode 100644 index 000000000..a96742c1d --- /dev/null +++ b/lis/testcases/metforcing/gefsoperforcing/README @@ -0,0 +1,38 @@ +GEFS Meteorological Forcing Reader - Operational @ 0.5 deg + +This is a testcase that uses: + (a) Latlon grid + (b) A domain spanning Minnesota to Utah + (c) The Noah version 3.6 land surface model + (d) GEFS operational forcing files + (e) A time period from 00:00Z 1 Jan 2022 to 00:00Z 2 Jan 2022 + (f) 3-hourly output files, written as NetCDF + +This directory contains: + (a) This README file + (b) An "input.ctl" file used to open the LDT parameters in GrADS + (c) The "lis.config" file used for this testcase + (d) The "MODEL_OUTPUT_LIST.TBL" file used by the lis.config file + to select the output variables + (e) An "output.ctl" file used to display the output in GrADS from + the LIS run + (f) A "testcase.ctl" file used to display the packaged output in + GrADS from the OUTPUT tar file provided by the testcase + +To run this testcase: + (a) Run the LIS executable using the "lis.config" file with the + testcase input data + (b) View the netcdf output using the testcase GrADS files + +Caveats: + (a) Please note that this is a simple functional test and the output + from the testcase is not expected to be used for any scientific + evaluation. + +Additional information: + +This feature was added in pull request #699 +(https://github.com/NASA-LIS/LISF/pull/699). + +The GEFS operational forcing data was downloaded from +https://nomads.ncep.noaa.gov/pub/data/nccf/com/gens/prod///atmos/pgrb2ap5/ diff --git a/lis/testcases/metforcing/gefsoperforcing/lis.config b/lis/testcases/metforcing/gefsoperforcing/lis.config new file mode 100644 index 000000000..0115c73c8 --- /dev/null +++ b/lis/testcases/metforcing/gefsoperforcing/lis.config @@ -0,0 +1,242 @@ +#Overall driver options +Running mode: retrospective +Map projection of the LIS domain: latlon +Number of nests: 1 +Number of surface model types: 1 +Surface model types: LSM +Surface model output interval: 3hr +Land surface model: "Noah-MP.4.0.1" +Number of met forcing sources: 1 +Blending method for forcings: ensemble +Met forcing sources: "GEFS forecast" +Topographic correction method (met forcing): "none" +Enable spatial downscaling of precipitation: 0 1 +Spatial upscaling method (met forcing): none none +Spatial interpolation method (met forcing): bilinear bilinear +Temporal interpolation method (met forcing): linear linear + +#Runtime options +Forcing variables list file: ./input/forcing_variables.txt +Output methodology: "2d gridspace" +Output model restart files: 1 +Output data format: netcdf +Output naming style: "3 level hierarchy" +Start mode: coldstart +Starting year: 2022 +Starting month: 1 +Starting day: 2 #29 +Starting hour: 0 +Starting minute: 0 +Starting second: 0 +Ending year: 2022 #2021 +Ending month: 1 +Ending day: 3 #30 +Ending hour: 0 +Ending minute: 0 +Ending second: 0 +Undefined value: -9999 +Output directory: "OUTPUT" +Diagnostic output file: "OUTPUT/lislog" +Number of ensembles per tile: 22 + +#The following options are used for subgrid tiling based on vegetation +Maximum number of surface type tiles per grid: 1 +Minimum cutoff percentage (surface type tiles): 0.05 +Maximum number of soil texture tiles per grid: 1 +Minimum cutoff percentage (soil texture tiles): 0.05 +Maximum number of soil fraction tiles per grid: 1 +Minimum cutoff percentage (soil fraction tiles): 0.05 +Maximum number of elevation bands per grid: 1 +Minimum cutoff percentage (elevation bands): 0.05 +Maximum number of slope bands per grid: 1 +Minimum cutoff percentage (slope bands): 0.05 +Maximum number of aspect bands per grid: 1 +Minimum cutoff percentage (aspect bands): 0.05 + +#Processor layout +#Should match the total number of processors used +Number of processors along x: 7 #2 +Number of processors along y: 4 #2 +Halo size along x: 0 +Halo size along y: 0 + +#Sub-models +Routing model: "none" +Radiative transfer model: none +Number of application models: 0 + +HYMAP2 routing model time step: "15mn" +TEMPLATE model timestep: "15mn" +HYMAP2 routing model output interval: "1da" +HYMAP2 routing model restart interval: "1mo" + +# method: enter "kinematic", "diffusive" or "local inertia" +# linear reservoir flag: enter 1 - use; or 0 - do not use linear reservoirs +# evaporation option: enter "penman" - compute; or "none" - do not compute evapotation in floodplains; +# floodplain dynamics option: enter 1 - compute floodplain dynamics; or 0 - do not compute floodplain dynamics +# time step method: enter "constant" or "adaptive" +# if "adaptive" time step, provide alfa coefficient value +# +# +HYMAP2 routing method: "local inertia" # "kinematic" # +HYMAP2 routing model time step method: "adaptive" "constant" # "constant" # +HYMAP2 routing model adaptive time step alfa coefficient: 1.0 +HYMAP2 run in ensemble mode: 1 +HYMAP2 routing model linear reservoir flag: 0 +HYMAP2 routing model evaporation option: none # "penman" +HYMAP2 routing model start mode: restart +HYMAP2 routing model restart file: LIS_RST_HYMAP2_router_201903120000.d01.nc +HYMAP2 floodplain dynamics: 1 +HYMAP2 enable 2-way coupling: 0 + +HYMAP2 reservoir operation option: 0 +HYMAP2 number of reservoirs: 1 +HYMAP2 reservoir operation input time series size: 2 +HYMAP2 reservoir operation input directory: ./ +HYMAP2 reservoir operation header filename: ./header_test.txt +HYMAP2 reservoir operation input data type: "water level" # "streamflow" # + +HYMAP2 routing model dwi flag: 0 +HYMAP2 use localization update in DA: 0 +HYMAP2 localization update window size: 5 +HYMAP2 localization weight map: distance_map_volta.nc + +#---------------------DATA ASSIMILATION ---------------------------------- +#Data Assimilation Options +Number of data assimilation instances: 0 +Data assimilation algorithm: "Direct insertion" +Data assimilation set: "GLASS LAI" +Data assimilation exclude analysis increments: 0 +Data assimilation output interval for diagnostics: "1da" +Data assimilation number of observation types: 1 +Data assimilation output ensemble spread: 0 +Data assimilation scaling strategy: "none" +Data assimilation output processed observations: 0 +Data assimilation output innovations: 0 +Number of state variables: 1 + +Data assimilation observation domain file: ./lis_input.d01.nc + +Data assimilation use a trained forward model: 0 +Data assimilation trained forward model output file: none + +Apply perturbation bias correction: 0 +Bias estimation algorithm: "none" +Bias estimation attributes file: "none" +Bias estimation restart output frequency: +Bias estimation start mode: +Bias estimation restart file: + +#Perturbation options +Perturbations start mode: "coldstart" +Perturbations restart output interval: "1mo" +Perturbations restart filename: "none" + +Forcing perturbation algorithm: "GMAO scheme" #"GMAO scheme" +Forcing perturbation frequency: "1hr" +Forcing attributes file: "./input/forcing_attribs.txt" #./config/forcing_attribs.txt +Forcing perturbation attributes file: "./input/forcing_pert_attribs.txt" #./config/forcing_pert_attribs.txt + +State perturbation algorithm: "none" #"GMAO scheme" +State perturbation frequency: "3hr" +State attributes file: ./noah_lai_attribs.txt +State perturbation attributes file: ./noah_lai_pert_attribs.txt + +Observation perturbation algorithm: "none" +Observation perturbation frequency: "1da" +Observation attributes file: ./GLASSLAI_attribs.txt +Observation perturbation attributes file: ./GLASSLAI_pertattribs.txt + +GLASS LAI data directory: ../GLASSLAIdata + +#------------------------DOMAIN SPECIFICATION-------------------------- +#Definition of Running Domain + +#The following options list the choice of parameter maps to be used +LIS domain and parameter data file: ./lis_input.d01.nc +Landmask data source: LDT +Landcover data source: LDT +Soil texture data source: LDT +Soil fraction data source: none +Soil color data source: none +Elevation data source: LDT +Slope data source: LDT +Aspect data source: LDT +Curvature data source: none +LAI data source: none +SAI data source: none +Albedo data source: LDT +Max snow albedo data source: LDT +Greenness data source: LDT +Roughness data source: none +Porosity data source: none +Ksat data source: none +B parameter data source: none +Quartz data source: none +Emissivity data source: none + +#--------------------------------FORCINGS---------------------------------- +GEFS forecast directory: ./input/MET_FORCING/GEFS/Oper/ +GEFS forecast type: Operational # Reforecast2 | Operational +GEFS forecast run mode: forecast # forecast | analysis +GEFS forecast grid projection: latlon # latlon | gaussian +GEFS pressure level field: surface # surface | msl +GEFS forecast number of ensemble members: 22 +GEFS forecast grid resolution: 0.5 + +GDAS forcing directory: ./input/MET_FORCING/GDAS/ + +#-----------------------LAND SURFACE MODELS-------------------------- + +Noah-MP.4.0.1 model timestep: 15mn +Noah-MP.4.0.1 restart output interval: 1mo +Noah-MP.4.0.1 restart file: LIS_RST_NOAHMP401_201903120000.d01.nc +Noah-MP.4.0.1 restart file format: netcdf +Noah-MP.4.0.1 soil parameter table: ./input/LS_PARAMETERS/noahmp401_parms/SOILPARM.TBL +Noah-MP.4.0.1 general parameter table: ./input/LS_PARAMETERS/noahmp401_parms/GENPARM.TBL +Noah-MP.4.0.1 MP parameter table: ./input/LS_PARAMETERS/noahmp401_parms/MPTABLE.TBL +Noah-MP.4.0.1 number of soil layers: 4 +Noah-MP.4.0.1 thickness of soil layers: 0.1 0.3 0.6 1.0 +Noah-MP.4.0.1 dynamic vegetation option: 2 # Up to 10 different options +Noah-MP.4.0.1 canopy stomatal resistance option: 1 # 1=Ball-Berry; 2=Jarvis +Noah-MP.4.0.1 soil moisture factor for stomatal resistance: 1 # 1=Noah; 2=CLM; 3=SSiB +Noah-MP.4.0.1 runoff and groundwater option: 1 # 1=SIMGM; 2=SIMTOP; 3=Schaake96; 4=BATS; 5=Miguez-Mach +o&Fan +Noah-MP.4.0.1 surface layer drag coefficient option: 1 # 1=M-O; 2=Chen97 +Noah-MP.4.0.1 supercooled liquid water option: 1 # 1=NY06; 2=Koren99 +Noah-MP.4.0.1 frozen soil permeability option: 1 # 1=NY06; 2=Koren99 +Noah-MP.4.0.1 radiation transfer option: 1 # 1=gap=F(3D;cosz); 2=gap=0; 3=gap=1-Fveg +Noah-MP.4.0.1 snow surface albedo option: 2 # 1=BATS; 2=CLASS +Noah-MP.4.0.1 rainfall & snowfall option: 1 # 1=Jordan91; 2=BATS; 3=Noah +Noah-MP.4.0.1 lower boundary of soil temperature option: 2 # 1=zero-flux; 2=Noah +Noah-MP.4.0.1 snow&soil temperature time scheme option: 1 # 1=semi-implicit; 2=fully implicit; 3=FSNO for TS +Noah-MP.4.0.1 glacier option: 1 # 1=include phase change; 2=slab ice (Noah) +Noah-MP.4.0.1 surface resistance option: 1 # 1=Sakaguchi and Zeng 2009; 2=Sellers (1992); 3=adjusted Sellers; 4=option1 for non-snow and rsurf_snow for snow +Noah-MP.4.0.1 soil configuration option: 1 # 1=input dominant soil texture; 2=input soil texture varies that varies with depth; 3=soil composition and pedotransfer; 4=input soil properties +Noah-MP.4.0.1 soil pedotransfer function option: 1 # 1=Saxton and Rawls (2006) (used when soil_opt=3) +Noah-MP.4.0.1 crop model option: 0 # 0=No crop model; 1=Liu et al. 2016; 2=Gecros +Noah-MP.4.0.1 urban physics option: 0 # 0=No; 1=Single-layer; 2=Multi-layer BEP scheme; 3=Multi-layer BEM scheme +Noah-MP.4.0.1 reference height of temperature and humidity: 6.0 +Noah-MP.4.0.1 initial surface skin temperature: 263.7 +Noah-MP.4.0.1 initial snow water equivalent: 1.0 +Noah-MP.4.0.1 initial snow depth: 0.01 +Noah-MP.4.0.1 initial total canopy surface water: 0.01 +Noah-MP.4.0.1 initial soil temperatures: 266.1 274.0 276.9 279.9 +Noah-MP.4.0.1 initial total soil moistures: 0.298 0.294 0.271 0.307 +Noah-MP.4.0.1 initial leaf area index: 2.0 +Noah-MP.4.0.1 initial water table depth: 2.5 +Noah-MP.4.0.1 initial water in the aquifer: 4900.0 +Noah-MP.4.0.1 initial water in aquifer and saturated soil: 4900.0 + +#---------------------------MODEL OUTPUT CONFIGURATION----------------------- +#Specify the list of ALMA variables that need to be featured in the +#LSM model output +Output start year: +Output start month: +Output start day: +Output start hour: +Output start minutes: +Output start seconds: + +Model output attributes file: './MODEL_OUTPUT_LIST.TBL' + diff --git a/lis/testcases/metforcing/gefsoperforcing/output.ctl b/lis/testcases/metforcing/gefsoperforcing/output.ctl new file mode 100644 index 000000000..1330a8204 --- /dev/null +++ b/lis/testcases/metforcing/gefsoperforcing/output.ctl @@ -0,0 +1,32 @@ +dset ^OUTPUT/SURFACEMODEL/%y4%m2/LIS_HIST_%y4%m2%d2%h200.d01.nc +dtype netcdf +options template +undef -9999 +xdef 250 linear -114.95 0.1 +ydef 135 linear 36.55 0.1 +zdef 1 linear 1 1 +tdef 8 linear 03z02jan2022 3hr +vars 22 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Qle_tavg=>Qle_tavg 1 y,x description +Qh_tavg=>Qh_tavg 1 y,x description +Evap_tavg=>Evap_tavg 1 y,x description +Qs_tavg=>Qs_tavg 1 y,x description +Qsb_tavg=>Qsb_tavg 1 y,x description +SWE_tavg=>SWE_tavg 1 y,x description +SnowDepth_tavg=>SnowDepth_tavg 1 y,x description +SoilMoist_tavg=>SoilMoist_tavg1 0 0,y,x description +SoilMoist_tavg=>SoilMoist_tavg2 0 1,y,x description +SoilMoist_tavg=>SoilMoist_tavg3 0 2,y,x description +SoilMoist_tavg=>SoilMoist_tavg4 0 3,y,x description +Wind_f_tavg=>Wind_f_tavg 1 y,x description +Rainf_f_tavg=>Rainf_f_tavg 1 y,x description +Tair_f_tavg=>Tair_f_tavg 1 y,x description +Qair_f_tavg=>Qair_f_tavg 1 y,x description +Psurf_f_tavg=>Psurf_f_tavg 1 y,x description +SWdown_f_tavg=>SWdown_f_tavg 1 y,x description +LWdown_f_tavg=>LWdown_f_tavg 1 y,x description +LAI_inst=>LAI_inst 1 y,x description +TotalPrecip_tavg=>TotalPrecip_tavg 1 y,x description +endvars diff --git a/lis/testcases/metforcing/gefsoperforcing/testcase.ctl b/lis/testcases/metforcing/gefsoperforcing/testcase.ctl new file mode 100644 index 000000000..7f53856ac --- /dev/null +++ b/lis/testcases/metforcing/gefsoperforcing/testcase.ctl @@ -0,0 +1,32 @@ +dset ^TARGET_OUTPUT/SURFACEMODEL/%y4%m2/LIS_HIST_%y4%m2%d2%h200.d01.nc +dtype netcdf +options template +undef -9999 +xdef 250 linear -114.95 0.1 +ydef 135 linear 36.55 0.1 +zdef 1 linear 1 1 +tdef 8 linear 03z02jan2022 3hr +vars 22 +lat=>lat 1 y,x description +lon=>lon 1 y,x description +Qle_tavg=>Qle_tavg 1 y,x description +Qh_tavg=>Qh_tavg 1 y,x description +Evap_tavg=>Evap_tavg 1 y,x description +Qs_tavg=>Qs_tavg 1 y,x description +Qsb_tavg=>Qsb_tavg 1 y,x description +SWE_tavg=>SWE_tavg 1 y,x description +SnowDepth_tavg=>SnowDepth_tavg 1 y,x description +SoilMoist_tavg=>SoilMoist_tavg1 0 0,y,x description +SoilMoist_tavg=>SoilMoist_tavg2 0 1,y,x description +SoilMoist_tavg=>SoilMoist_tavg3 0 2,y,x description +SoilMoist_tavg=>SoilMoist_tavg4 0 3,y,x description +Wind_f_tavg=>Wind_f_tavg 1 y,x description +Rainf_f_tavg=>Rainf_f_tavg 1 y,x description +Tair_f_tavg=>Tair_f_tavg 1 y,x description +Qair_f_tavg=>Qair_f_tavg 1 y,x description +Psurf_f_tavg=>Psurf_f_tavg 1 y,x description +SWdown_f_tavg=>SWdown_f_tavg 1 y,x description +LWdown_f_tavg=>LWdown_f_tavg 1 y,x description +LAI_inst=>LAI_inst 1 y,x description +TotalPrecip_tavg=>TotalPrecip_tavg 1 y,x description +endvars diff --git a/lis/testcases/metforcing/plumber2/NOAHMP401_OUTPUT_PLUMBER2LIST.TBL b/lis/testcases/metforcing/plumber2/MODEL_OUTPUT_LIST.TBL similarity index 100% rename from lis/testcases/metforcing/plumber2/NOAHMP401_OUTPUT_PLUMBER2LIST.TBL rename to lis/testcases/metforcing/plumber2/MODEL_OUTPUT_LIST.TBL diff --git a/lis/testcases/metforcing/plumber2/README b/lis/testcases/metforcing/plumber2/README new file mode 100644 index 000000000..1be3eb1cd --- /dev/null +++ b/lis/testcases/metforcing/plumber2/README @@ -0,0 +1,29 @@ +The Plumber2 Reader Test Case + +This test case performas a 2 day simulation from 2009-12-31 to 2010-01-02 to tests the plumber2 metforcing reader. + +This directory contains: + +* this README file. +* the ldt.config file used for this test case to reproduce the lis_input file. (This file should be edited to make sure that the locations of the parameter and forcing files are specified correctly.) +* the input.ctl GrADS descrptor file used to display the input parameter file for lis prodcued by LDT. +* the lis.config file used for this test case. (This file should be + edited to make sure that the locations of the parameter and + forcing files are specified correctly.) +* the MODEL_OUTPUT_LIST.TBL file used to specify the output variables. +* a sample grads control file that can be used to visualize the + output. (output.ctl) +* a sample grads control file that can be used to visualize the + test case output. (testcase.ctl) + +To run this test case: +* Generate the LDT executable. +* Run the LDT executble using the ldt config file and your sample input data. +* Generate the LIS executable. +* Run the LIS executable using the lis.config file and your sample + input data. + +Notes: + +This feature was added in pull request #943: +http://github.com/nasa-lis/lisf/pull/943 diff --git a/lis/testcases/metforcing/plumber2/lis.config b/lis/testcases/metforcing/plumber2/lis.config index 422d95daa..2faa440ac 100755 --- a/lis/testcases/metforcing/plumber2/lis.config +++ b/lis/testcases/metforcing/plumber2/lis.config @@ -193,7 +193,7 @@ Noah-MP.4.0.1 reference height of temperature and humidity: 10.0 #6.0 in LISUSER #Specify the list of ALMA variables that need to be featured in the #LSM model output -Model output attributes file: ./NOAHMP401_OUTPUT_PLUMBER2LIST.TBL +Model output attributes file: ./MODEL_OUTPUT_LIST.TBL Output start year: Output start month: