Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Aerosol radiative properties in the output files

nuvolet

Toni Viudez
Member
Greetings,

I am looking if there is a quick and easy way to have the aerosol radiative properties (tau, SSA and g) for each SW band in the output files.
I tried something like this in the user_nl_cam when I run CESM2.2:

Code:
avgflag_pertape = 'A','I'
nhtfrq = 0, -3
mfilt  = 1, 8
fincl1 =  'tau', 'tau_w', 'tau_w_g'
fincl2 =  'tau', 'tau_w', 'tau_w_g'

The case is build and when runs there is the error in the atm.log file:

Code:
FLDLST: tau in fincl(1, 1) not found
 FLDLST: tau_w in fincl(2, 1) not found
 FLDLST: tau_w_g in fincl(3, 1) not found
 FLDLST: tau in fincl(1, 2) not found
 FLDLST: tau_w in fincl(2, 2) not found
 FLDLST: tau_w_g in fincl(3, 2) not found
 ERROR: FLDLST: 6 errors found, see log

It looks that those variable are not in field list, while they're in the are_rad_props.F90 (subroutine aer_rad_props_sw).

Thanks
 

rrbuchholz

Rebecca Buchholz
CSEG and Liaisons
Staff member
You can find out what species are available to write out to a history file by looking at an atmospheric log file of an initial run of your CESM setup. For example, the CAM-chem Wiki shows a list of 7215 options for output variables from a CESM2.1 build of CAM-chem: https://wiki.ucar.edu/display/camchem/CAM-chem+History+Fields
  • When I search for "tau" on that Wiki page - there are 567 options
  • When I search for "aerosol" - there are 181 options and I think the options you might be looking for start around number 6211 (e.e. Aerosol extinction 550 nm, day only, etc.)

Hope that helps!
-Rebecca
 

nuvolet

Toni Viudez
Member
Hi Rebecca,

Looks like the link indicated, the output variables are that CESM has predetermined to be in the output files.
What I am looking for, it is the way to get variables (tau, SSA and g) that are in the module are_rad_props.F90 (subroutine aer_rad_props_sw) for all the SW bands used in the RRTMG.
Thanks for your response and help.

Toni
 

rrbuchholz

Rebecca Buchholz
CSEG and Liaisons
Staff member
Hi Toni,

The link shows all possible atmospheric output variables for a given model configuration. It is not the default output - it is all possible output you could ask for.

So for example, the variables:
SSAVISAerosol single-scatter albedo, day only
SSAVISdnAerosol single-scatter albedo, day night
EXTINCTdnAerosol extinction 550 nm, day night
EXTINCTUVdnAerosol extinction 350 nm, day night
EXTINCTNIRdnAerosol extinction 1020 nm, day night

Are not what you are after?

If not, it sounds like you may want to add output variables to the model that aren't currently available.

Best,
Rebecca
 

nuvolet

Toni Viudez
Member
Hi Rebecca,

Indeed, it looks that I should to add those variables if I want them for all the SW bands.
Thanks

Toni
 

Duseong

Duseong Jo
New Member
Hi Toni,

That's correct. As far as I know, default output variables for AOD, SSA, and asymmetry factors are only for 550 nm in CESM2, so you will need to add more diagnostics manually in physics/cam/modal_aer_opt.F90

Best,
Duseong
 

nuvolet

Toni Viudez
Member
Hi Toni,

That's correct. As far as I know, default output variables for AOD, SSA, and asymmetry factors are only for 550 nm in CESM2, so you will need to add more diagnostics manually in physics/cam/modal_aer_opt.F90

Best,
Duseong
Hi Duseong,

I already had these lines in the subroutine aer_rad_props_init():

Code:
   call add_hist_coord('nswbands', nswbands, 'Number of shortwave spectral bands', '1')

   call addfld ('tau', (/ 'lev     ' , 'nswbands'/), 'A', '1', &
      'aerosol extinction optical depth', flag_xyfill=.true.,fill_value=-999.0_r8)

   call addfld ('tau_w', (/ 'lev     ' , 'nswbands'/), 'A', '1', &
      'aerosol single scattering albedo', flag_xyfill=.true.,fill_value=-999.0_r8)

   call addfld ('tau_w_g', (/ 'lev     ' , 'nswbands'/), 'A', '1', &
      'aerosol assymetry parameter', flag_xyfill=.true.,fill_value=-999.0_r8)


But I need to also add the call for the outfld at the end of the subroutine aer_rad_props_sw (after the call aer_vis_diag_out):

Code:
   call outfld('tau', tau(1:ncol,1:pver,:), pcols, pver, nswbands)
   call outfld('tau_w', tau_w(1:ncol,1:pver,:), pcols, pver, nswbands)
   call outfld('tau_w_g', tau_w_g(1:ncol,1:pver,:), pcols, pver, nswbands)

I got an error telling me that for that subroutine call (outfld) looks like nswbands is taken as logical when actually is an integer (number of SW Banda used in the RRTMG).

While, if I write those statements after the line where there are contributions from mdral aerosols:

Code:
  ! Contributions from modal aerosols
   if (nmodes > 0) then
      call modal_aero_sw(list_idx, state, pbuf, nnite, idxnite, &
                         tau, tau_w, tau_w_g, tau_w_f)
   else
      tau    (1:ncol,:,:) = 0._r8
      tau_w  (1:ncol,:,:) = 0._r8
      tau_w_g(1:ncol,:,:) = 0._r8
      tau_w_f(1:ncol,:,:) = 0._r8
   end if

   call outfld('tau', tau(1:ncol,1:pver,:), pcols, pver)
   call outfld('tau_w', tau_w(1:ncol,1:pver,:), pcols, pver)
   call outfld('tau_w_g', tau_w_g(1:ncol,1:pver,:), pcols, pver)

I have these new variables in the output files but they're empty.
 

nuvolet

Toni Viudez
Member
Hi Toni,

That's correct. As far as I know, default output variables for AOD, SSA, and asymmetry factors are only for 550 nm in CESM2, so you will need to add more diagnostics manually in physics/cam/modal_aer_opt.F90

Best,
Duseong
I just notice that you are suggestion to do those additions in physics/cam/modal_aer_opt.F90, instead of physics/cam/aear_rad_props.F90.
Why?

Thanks
 

Duseong

Duseong Jo
New Member
Hi Toni,

That was based on my guess because I haven't done this work before.
This file already had diagnostic settings for AOD at 550 nm, so I thought this file was the best to add other wavelengths.

I am actually not sure about where to put the new diagnostics, but somewhere closer to the default diagnostics worked well in my case.

The problem you have would also be related to the position of addfld & outfld function calls I guess.

Best,
Duseong
 

nuvolet

Toni Viudez
Member
Hi Duseong,

Finally, I have been able to get the SW aerosols radiative properties in the output files and for some specific bands I need.
Nevertheless, I wanted to do something identical for LW, but I notice that the following subroutine in the module aer_rad_props.F90 (aer_rad_props_lw) only has one output variable (odap_aer which is defined as the [fraction] absorption optical depth, per layer).
Do you know by any chance if there is somewhere where I could have same aerosol radiative properties (tau, tau_w and tau_w_g) as SW?.

thanks in advance.

Toni
 
Top