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

Prediction of aerosoles

I have set up cam3.0 running quite well.

BUT now i wanna predict aerosoles too

Is there any way I can do that with my already installed and configured cam3.0 model,or do I need something else? (eg setup and configure cam3.0 differrently or use another model maybe?)

ANY ideas will be highly appreciated!
 

bundy

New Member
You'll need to reconfigure CAM with these changes:

configure -cppdefs "-DDUST" -nadv N

where N is determined by which aerosols you want to run:

N = 2 or 3 water (see Note) + 4 dust + 4 sulfur + 4 carbon + 1 sea salt

[Note: I can't remember if cam3.0 had 2 or 3 water constituents. There is always water vapor, Q, and cam3.1 has two cloud constituents: CLDICE and CLDLIQ. But they used to be together, so you should look in either the code (cnst_add calls in models/atm/cam/src/physics/cam1/*.F90) or the build files ( NADV in bld/*.h ) to see if you should use 2 or 3].

Then you can turn the aerosols off and on using namelist variables. They are defined and described in models/atm/cam/src/physics/cam1/aerosols_intr.F90, which I'm quoting below.

Note that feedback refers to the radiative forcing. If an aerosol group has feedback on, it *will* affect the climate. If it is off, the aerosol will be emitted/advected/deposited (etc) but the radiation calculation will use the data set (prescribed) aerosols to compute the radiative forcing.


character(len=16), private, parameter :: def_prognostic_sulfur = 'off' ! default
! Set this flag to .TRUE. to turn on sulfur
logical, private :: sulfur = .FALSE.
! Set this flag to .TRUE. to turn on sulfur feedback in
! set_aerosol_from_prognostics()
logical, private :: feedback_sulfur = .FALSE.

! Set this flag to .TRUE. to turn on carbon
logical, private, parameter :: def_carbon = .FALSE. ! default
logical, private :: carbon = def_carbon
! Set this flag to .TRUE. to turn on carbon feedback in
! set_aerosol_from_prognostics()
logical, private, parameter :: def_feedback_carbon = .FALSE. ! default
logical, private :: feedback_carbon = def_feedback_carbon

! Set this flag to .TRUE. to turn on sea salt
logical, private, parameter :: def_sea_salt = .FALSE. ! default
logical, private :: sea_salt = def_sea_salt
! Set this flag to .TRUE. to turn on sea salt feedback in
! set_aerosol_from_prognostics()
logical, private, parameter :: def_feedback_sea_salt = .FALSE. ! default
logical, private :: feedback_sea_salt = def_feedback_sea_salt

You will also need the emissions datasets for each group, and defined by the namelist variables:
carbon: co_emis
dust : soil_erod
sulfur: bndtvsox, bndtvoxid, bndtvdms


Good luck.
 
Thanks for your help bundy but I have another question though

Like you said i run


Code:
./configure -cppdefs "-DDUST" -nadv 16 -cam_bld /cam3.aerosoles/


Then I gmake but I get this error :


Code:
PGF90-S-0038-Symbol, feedback_dust, has not been explicitly declared


Sounds logical since there is no dust declared in /cam3/cam1/models/atm/cam/src/physics/cam1/aerosol_intr.F90

So

1) Do I have to declare dust in /cam3/cam1/models/atm/cam/src/physics/cam1/aerosol_intr.F90 and if yes how

2) In /cam3/cam1/models/atm/cam/src/physics/cam1/aerosol_intr.F90 should I turn everything on and true?

Thanks again!
 
Top