1. summary: new aerosol radiation properties Warning: Should only be used with Natalie's "new" (Summer 2005) dust. modified AerosolOptics_c050419.nc (compatible > cam3_2_1 ): 1) new fields asm_cam_dust_prog,ext_cam_dust_prog,ssa_cam_dust_prog asm_cam_sslt,ext_cam_sslt,ssa_cam_sslt from Natalie Mahowald's AerosolsOptics_extended2.nc file (units change for ext_cam_dust_mod, ext_cam_sslt) (original names asm_cam_dust_mod,ext_cam_dust_mod,ssa_cam_dust_mod ) 2) modified abs_cff_mss_aer as defined in Natalie's code: src/physics/cam1/aerosol_radiation_interface.F90 factored it into constituent fields float lw_ext_sul(bnd_nbr_LW) ; float lw_ext_sslt(bnd_nbr_LW) ; float lw_ext_ocpho(bnd_nbr_LW) ; float lw_ext_bcpho(bnd_nbr_LW) ; float lw_ext_ocphi(bnd_nbr_LW) ; float lw_ext_bcphi(bnd_nbr_LW) ; float lw_ext_bg(bnd_nbr_LW) ; float lw_ext_volc(bnd_nbr_LW) ; float lw_ext_dust_pres(bnd_nbr_LW, dst) ; float lw_ext_dust_prog(bnd_nbr_LW, dst) ; 3) Added _pres (=prescribed) to existing dust aerosol fields 2. created by: Dani Bundy Coleman, bundy@ucar.edu 3. date & time: 17 Aug 2006 4. platform: sabaki.cgd.ucar.edu (linux) 5. dataset format: netCDF 6. endian: N/A 7. archival copy location: NCAR Mass Store /BUNDY/data/aeroptics 8. creation details: sabaki:/datalocal/aux0/data/aeroptics% yorick -i write_netcdf_c060817.i script uses: infile = "/fs/cgd/csm/inputdata/atm/cam/rad/AerosolOptics_c050419.nc"; newfile = "/fs/cgd/data0/bundy/data/aeroptics/AerosolsOptics_extended2.nc"; outfile = "/datalocal/aux0/data/dst/aeroptics/AerosolOptics_c060817.nc"; Most fields are read from infile straight to outfile. If not available on infile, they are read from newfile. With the following exceptions: 1) units change for ext_cam_dust_mod & ext_cam_sslt (newfile fields) The big change between AerosolOptics_c040105.nc and AerosolOptics_c050419.nc is the extinction units changed from meter^2 gram-1 to meter^2 kilogram^-1. So I changed the units and multiplied these fields *1000. OLD: Name: ext_cam_dust_mod "Attribute " "units" "meter^2 gram-1" non record range: min and max 0.0223558 2.89090 Name: ext_cam_sslt "Attribute " "units" "meter^2 gram-1" non record range: min and max 0.0252056 55.7634 NEW: Name: ext_cam_dust_mod "Attribute " "units" "meter^2 kilogram^-1" non record range: min and max 22.3558 2890.90 Name: ext_cam_sslt "Attribute " "units" "meter^2 kilogram^-1" non record range: min and max 25.2056 55763.4 2) abs_cff_mss_aer abs_cff_mss_aer used to be in a data table in the code; this is how Natalie had modified it. So I took the table from her code and wrote it into the netcdf file. Natalie gave me the AerosolOptics_extended2.nc file, but it goes with an older version (cam3_0_23) that had the abs_cff_mss_aer field in a data table. So I'm just adding the data table in her code to the file. src/physics/cam1/aerosol_radiation_interface.F90 I also split them up, so that the dust can choose prognostic or prescribed & it is done like all the other fields. NEW real(r8), public, parameter, dimension (naer_all,bnd_nbr_LW):: & abs_cff_mss_aer = & reshape ( (/ 0., 0., 115.797811508982, 205.258635989334, 375.056793212891, 168.137037200256, 0., 0., 0., 0., 0., 70.257384,& 0., 0., 78.0225491770605, 109.099876619784, 184.790097456283, 333.693737889281, 0., 0., 0., 0., 0., 285.282943,& 0., 0., 0.07127003e+03, 0.07765577e+03, 0.1042991e+03, 0.1524895e+03, 0., 0., 0., 0., 0., 1.0273851e+02,& 0., 0., 0.04390537e+03, 0.0522535e+03, 0.09212589e+03, 0.1719083e+03, 0., 0., 0., 0., 0., 6.3073303e+01,& 0., 0., 0.07503846e+03, 0.0967608e+03, 0.173481e+03, 0.2341278e+03, 0., 0., 0., 0., 0., 1.2039569e+02,& 0., 0., 0.1168833e+03, 0.2013942e+03, 0.351273e+03, 0.1848273e+03, 0., 0., 0., 0., 0., 3.6343643e+02,& 0., 0., 0.0358088e+03, 0.06626066e+03, 0.1501448e+03, 0.2154348e+03, 0., 0., 0., 0., 0., 2.7138528e+02/),& yorick: new_cff = [[ 0., 0., 115.797811508982, 205.258635989334, 375.056793212891, 168.137037200256, 0., 0., 0., 0., 0., 70.257384], [0., 0., 78.0225491770605, 109.099876619784, 184.790097456283, 333.693737889281, 0., 0., 0., 0., 0., 285.282943], [0., 0., 0.07127003e+03, 0.07765577e+03, 0.1042991e+03, 0.1524895e+03, 0., 0., 0., 0., 0., 1.0273851e+02], [0., 0., 0.04390537e+03, 0.0522535e+03, 0.09212589e+03, 0.1719083e+03, 0., 0., 0., 0., 0., 6.3073303e+01], [0., 0., 0.07503846e+03, 0.0967608e+03, 0.173481e+03, 0.2341278e+03, 0., 0., 0., 0., 0., 1.2039569e+02], [0., 0., 0.1168833e+03, 0.2013942e+03, 0.351273e+03, 0.1848273e+03, 0., 0., 0., 0., 0., 3.6343643e+02], [0., 0., 0.0358088e+03, 0.06626066e+03, 0.1501448e+03, 0.2154348e+03, 0., 0., 0., 0., 0., 2.7138528e+02 ]] lw_index_description = "Sulfate", "Sea Salt", "Dust bin 1", "Dust bin 2", "Dust bin 3", "Dust bin 4", "Organic Carbon Hydrophobic", "Black Carbon Hydrophobic", "Organic Carbon Hydrophilic", "Black Carbon Hydrophilic", "Background", "Volcanic" ; lw_ext_sul = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_sslt = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_ocpho = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_bcpho = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_ocphi = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_bcphi = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_bg = 0, 0, 0, 0, 0, 0, 0 ; lw_ext_volc = 70.25739, 285.2829, 102.7385, 63.0733, 120.3957, 363.4364, 271.3853 ; lw_ext_dust_pres = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ; lw_ext_dust_prog = 115.7978, 205.2586, 375.0568, 168.137, 78.02255, 109.0999, 184.7901, 333.6937, 71.27003, 77.65577, 104.2991, 152.4895, 43.90537, 52.2535, 92.12589, 171.9083, 75.03846, 96.7608, 173.481, 234.1278, 116.8833, 201.3942, 351.273, 184.8273, 35.8088, 66.26066, 150.1448, 215.4348 ; ==========> checking I compared the ncdumps of the renamed dust against the original & Natalie's mods. sabaki:/datalocal/aux0/data/aeroptics% yorick -batch write_netcdf_c060817.i >& ! temp "fields in input file:" ["asm_cam_bg","asm_cam_dust","asm_cam_soot", "asm_cam_ssam","asm_cam_sscm","asm_cam_sul","asm_cam_volc","asm_cam_waso", "bnd_description","ext_cam_bg","ext_cam_dust","ext_cam_soot","ext_cam_ssam", "ext_cam_sscm","ext_cam_sul","ext_cam_volc","ext_cam_waso","rh","ssa_cam_bg", "ssa_cam_dust","ssa_cam_soot","ssa_cam_ssam","ssa_cam_sscm","ssa_cam_sul", "ssa_cam_volc","ssa_cam_waso","wvl_cam","abs_cff_mss_aer", "lw_index_description"] "adding fields from new file:" ["asm_cam_dust_mod","asm_cam_sslt", "ext_cam_dust_mod","ext_cam_sslt","ssa_cam_dust_mod","ssa_cam_sslt"] "found" "" "in input file" "found" "asm_cam_dust_mod" "in new file" "changing names from" "asm_cam_dust_mod" "asm_cam_dust_prog" "found" "asm_cam_sslt" "in new file" "found" "ext_cam_dust_mod" "in new file" "change units, old:" "meter^2 gram-1" "new " "meter^2 kilogram^-1" "changing names from" "ext_cam_dust_mod" "ext_cam_dust_prog" "found" "ext_cam_sslt" "in new file" "change units, old:" "meter^2 gram-1" "new " "meter^2 kilogram^-1" "found" "ssa_cam_dust_mod" "in new file" "changing names from" "ssa_cam_dust_mod" "ssa_cam_dust_prog" "found" "ssa_cam_sslt" "in new file" "found" "asm_cam_bg" "in input file" "found" "asm_cam_dust" "in input file" "changing names from" "asm_cam_dust" "asm_cam_dust_pres" "found" "asm_cam_soot" "in input file" "found" "asm_cam_ssam" "in input file" "found" "asm_cam_sscm" "in input file" "found" "asm_cam_sul" "in input file" "found" "asm_cam_volc" "in input file" "found" "asm_cam_waso" "in input file" "found" "bnd_description" "in input file" "found" "ext_cam_bg" "in input file" "found" "ext_cam_dust" "in input file" "changing names from" "ext_cam_dust" "ext_cam_dust_pres" "found" "ext_cam_soot" "in input file" "found" "ext_cam_ssam" "in input file" "found" "ext_cam_sscm" "in input file" "found" "ext_cam_sul" "in input file" "found" "ext_cam_volc" "in input file" "found" "ext_cam_waso" "in input file" "found" "rh" "in input file" "found" "ssa_cam_bg" "in input file" "found" "ssa_cam_dust" "in input file" "changing names from" "ssa_cam_dust" "ssa_cam_dust_pres" "found" "ssa_cam_soot" "in input file" "found" "ssa_cam_ssam" "in input file" "found" "ssa_cam_sscm" "in input file" "found" "ssa_cam_sul" "in input file" "found" "ssa_cam_volc" "in input file" "found" "ssa_cam_waso" "in input file" "found" "wvl_cam" "in input file" "skipping" "abs_cff_mss_aer" "added " 1 "lw_ext_sul" "longwave specific extinction - sul aerosol" "added " 2 "lw_ext_sslt" "longwave specific extinction - sslt aerosol" "added " 4 "lw_ext_ocpho" "longwave specific extinction - ocpho aerosol" "added " 5 "lw_ext_bcpho" "longwave specific extinction - bcpho aerosol" "added " 6 "lw_ext_ocphi" "longwave specific extinction - ocphi aerosol" "added " 7 "lw_ext_bcphi" "longwave specific extinction - bcphi aerosol" "added " 8 "lw_ext_bg" "longwave specific extinction - bg aerosol" "added " 9 "lw_ext_volc" "longwave specific extinction - volc aerosol" "added " 3 "lw_ext_dust_pres" "longwave specific extinction - dust aerosol (prescribed)" [4,7] "added " 10 "lw_ext_dust_prog" "longwave specific extinction - dust aerosol (prognostic)" [4,7] "file definition complete" "in name" "asm_cam_dust_mod" ", out name" "asm_cam_dust_prog" "transfering asm_cam_dust_mod" 1 "of" 35 "reading" "asm_cam_dust_mod" "from new" "transfering asm_cam_sslt" 2 "of" 35 "reading" "asm_cam_sslt" "from new" "in name" "ext_cam_dust_mod" ", out name" "ext_cam_dust_prog" "transfering ext_cam_dust_mod" 3 "of" 35 "reading" "ext_cam_dust_mod" "from new" "transfering ext_cam_sslt" 4 "of" 35 "reading" "ext_cam_sslt" "from new" "in name" "ssa_cam_dust_mod" ", out name" "ssa_cam_dust_prog" "transfering ssa_cam_dust_mod" 5 "of" 35 "reading" "ssa_cam_dust_mod" "from new" "transfering ssa_cam_sslt" 6 "of" 35 "reading" "ssa_cam_sslt" "from new" "transfering asm_cam_bg" 7 "of" 35 "reading" "asm_cam_bg" "from input" "in name" "asm_cam_dust" ", out name" "asm_cam_dust_pres" "transfering asm_cam_dust" 8 "of" 35 "reading" "asm_cam_dust" "from input" "transfering asm_cam_soot" 9 "of" 35 "reading" "asm_cam_soot" "from input" "transfering asm_cam_ssam" 10 "of" 35 "reading" "asm_cam_ssam" "from input" "transfering asm_cam_sscm" 11 "of" 35 "reading" "asm_cam_sscm" "from input" "transfering asm_cam_sul" 12 "of" 35 "reading" "asm_cam_sul" "from input" "transfering asm_cam_volc" 13 "of" 35 "reading" "asm_cam_volc" "from input" "transfering asm_cam_waso" 14 "of" 35 "reading" "asm_cam_waso" "from input" "transfering bnd_description" 15 "of" 35 "reading" "bnd_description" "from input" "transfering ext_cam_bg" 16 "of" 35 "reading" "ext_cam_bg" "from input" "in name" "ext_cam_dust" ", out name" "ext_cam_dust_pres" "transfering ext_cam_dust" 17 "of" 35 "reading" "ext_cam_dust" "from input" "transfering ext_cam_soot" 18 "of" 35 "reading" "ext_cam_soot" "from input" "transfering ext_cam_ssam" 19 "of" 35 "reading" "ext_cam_ssam" "from input" "transfering ext_cam_sscm" 20 "of" 35 "reading" "ext_cam_sscm" "from input" "transfering ext_cam_sul" 21 "of" 35 "reading" "ext_cam_sul" "from input" "transfering ext_cam_volc" 22 "of" 35 "reading" "ext_cam_volc" "from input" "transfering ext_cam_waso" 23 "of" 35 "reading" "ext_cam_waso" "from input" "transfering rh" 24 "of" 35 "reading" "rh" "from input" "transfering ssa_cam_bg" 25 "of" 35 "reading" "ssa_cam_bg" "from input" "in name" "ssa_cam_dust" ", out name" "ssa_cam_dust_pres" "transfering ssa_cam_dust" 26 "of" 35 "reading" "ssa_cam_dust" "from input" "transfering ssa_cam_soot" 27 "of" 35 "reading" "ssa_cam_soot" "from input" "transfering ssa_cam_ssam" 28 "of" 35 "reading" "ssa_cam_ssam" "from input" "transfering ssa_cam_sscm" 29 "of" 35 "reading" "ssa_cam_sscm" "from input" "transfering ssa_cam_sul" 30 "of" 35 "reading" "ssa_cam_sul" "from input" "transfering ssa_cam_volc" 31 "of" 35 "reading" "ssa_cam_volc" "from input" "transfering ssa_cam_waso" 32 "of" 35 "reading" "ssa_cam_waso" "from input" "transfering wvl_cam" 33 "of" 35 "reading" "wvl_cam" "from input" "writing data" 1 "lw_ext_sul" "writing data" 2 "lw_ext_sslt" "writing data" 3 "lw_ext_dust_pres" "writing data" 4 "lw_ext_ocpho" "writing data" 5 "lw_ext_bcpho" "writing data" 6 "lw_ext_ocphi" "writing data" 7 "lw_ext_bcphi" "writing data" 8 "lw_ext_bg" "writing data" 9 "lw_ext_volc" "writing data" 10 "lw_ext_dust_prog"