JCSDA / CRTMv3

CRTMv3 repository for coordinated development and releases. Code history is not carried in this repository prior to v3, to reduce the cloning overhead. For v2.x history leading up to v3, see JCSDA/crtm repository.
Other
6 stars 6 forks source link

New IR snow emissivity table: Nalli2.IRsnow.EmisCoeff.nc4 #31

Closed chengdang closed 1 year ago

chengdang commented 1 year ago

Adding a new IR snow emissivity table provided by Nick Nalli: Nalli_TFIRsnow_EmisCoeff-v11.nc

This table contains updated IR snow emissivities, in comparison to the current optional table: Nalli.IRsnow.EmisCoeff.nc4

CRTM will keep both LUTs per user request for testing.

chengdang commented 1 year ago

Renaming the table follow CRTM conventions and adding CRTM/offline version/release numbers:

mv Nalli_TFIRsnow_EmisCoeff-v11.nc Nalli2.IRsnow.EmisCoeff.nc4
ncatted -O -h -a Release_Offline,global,a,c,"2." Nalli2.IRsnow.EmisCoeff.nc4
ncatted -O -h -a Version_Offline,global,a,c,"1.1" Nalli2.IRsnow.EmisCoeff.nc4
ncatted -O -h -a Version,global,m,i,2 Nalli2.IRsnow.EmisCoeff.nc4
ncatted -O -h -a Release,global,m,i,1 Nalli2.IRsnow.EmisCoeff.nc4
chengdang commented 1 year ago

Adding global attribute Classification_Name: ncatted -O -h -a Classification_Name,global,a,c,"Nalli" Nalli2.IRsnow.EmisCoeff.nc4

chengdang commented 1 year ago

Data content in this table:

netcdf Nalli2.IRsnow.EmisCoeff {
dimensions:
    n_Angles = 10 ;
    n_Frequencies = 119 ;
    n_Grain_Sizes = 15 ;
    n_Temperature = 5 ;
variables:
    double Angle(n_Angles) ;
        Angle:_FillValue = NaN ;
        Angle:long_name = "Angle" ;
        Angle:description = "Angle (Z) dimension values for emissivity data" ;
        Angle:units = "degrees from vertical" ;
    double Frequency(n_Frequencies) ;
        Frequency:_FillValue = NaN ;
        Frequency:long_name = "Frequency" ;
        Frequency:description = "Frequency (F) dimension values for emissivity data" ;
        Frequency:units = "inverse centimeters (cm^-1)" ;
    double Grain_Size(n_Grain_Sizes) ;
        Grain_Size:_FillValue = NaN ;
        Grain_Size:long_name = "Grain_Size" ;
        Grain_Size:description = "Snow grain size (R) dimension values for emissivity data" ;
        Grain_Size:units = "effective radius in microns (um)" ;
    double Temperature(n_Temperature) ;
        Temperature:_FillValue = NaN ;
        Temperature:long_name = "Temperature" ;
        Temperature:description = "Temperature (T) dimension values for emissivity data" ;
        Temperature:units = "Kelvins" ;
    double Emissivity(n_Temperature, n_Grain_Sizes, n_Frequencies, n_Angles) ;
        Emissivity:_FillValue = NaN ;
        Emissivity:long_name = "Emissivity" ;
        Emissivity:description = "Spectral water surface emissivity data" ;
        Emissivity:units = "N/A" ;

// global attributes:
        :Description = "Thermal-IR to Far-IR Snow Surface Emissivity Model" ;
        :Date = "26-Apr-2023" ;
        :Notes = "Hybrid Physical Model based Wiscombe & Warren (1980) (WW80) and a modified version of the Hori et al. (2013) semi-empirical model, with specular surface fractions extrapolated to 1 micron radius. This model shows good agreement versus published observations for the range of observed snow particle sizes." ;
        :Author = "N. R. Nalli, NOAA/NESDIS/STAR" ;
        :Tdep = "refind" ;
        :REF_IND = "Iwabuchi-Yang11" ;
        :ref_ind = -1. ;
        :Dimensions = "n_Temperature x n_Grain_Sizes x n_Frequencies x n_Angles" ;
        :Reference1 = "Wiscombe and Warren (1980), J. Atmos. Sci., 37(12), 2712-2733." ;
        :Reference2 = "Dozier and Warren (1982), Water Resources Res., 18(5), 1424-1434." ;
        :Reference3 = "Iwabuchi and Yang (2011), J. Quant. Spec. Rad. Trans., 112, 2520-2525." ;
        :Reference4 = "Hori et al. (2013), Appl. Optics, 52(30), 7243-7255" ;
        :History = "Version 1.1 LUT written to NetCDF file using SNOW_EMIS_TO_NETCDF v1.0" ;
        :Release_Offline = "2." ;
        :Version_Offline = "1.1" ;
        :Version = 2 ;
        :Release = 1 ;
        :Classification_Name = "Nalli" ;
}

Where Version = 2 denotes the data values, Release =1denotes the data structure and file formats, Classification_Name = "Nalli" specify which CRTM I/O modules should be called for reading/writing the data.

chengdang commented 1 year ago

This table is ready to use in CRTM v2.4.1 and CRTM v3 feature branch: https://github.com/JCSDA/CRTMv3/tree/feature/cd_v241_sfc_emis

This table is stored in google drive temporarily with restricted access: https://drive.google.com/file/d/1Lc2tYOfsLespmJJwXkB2tm1QlUvTvTEX/view?usp=share_link

Unit test on this table will be added once the CRTM V3 and V2.4.1 develop branch are bug free.