Opened 36 hours ago

#186 new defect

Running with zero aerosols requires naerkind=1

Reported by: emillour Owned by:
Priority: major Milestone:
Component: GENERIC GCM Version:
Keywords: Cc:

Description

In the current version of the Generic PCM (r4204), to run with no aerosols one nonetheless needs to set "naerkind=1" (and not 0) in callphys.def.

Then this "no aerosol" case is handled "internally" in the code (see aerosol_init ) with a "noaero" flag:

! For the zero aerosol case, we currently make a dummy co2 aerosol which is zero everywhere.
! (See aerosol_opacity.F90 for how this works). A better solution would be to turn off the 
! aerosol machinery in the no aerosol case, but this would be complicated. LK

  if (ia.eq.0) then  !For the zero aerosol case. 
     ia = 1
     noaero = .true.
     iaero_co2=ia
  endif

  if (ia.ne.naerkind) then
    if (is_master) then
      print*, 'Aerosols counted not equal to naerkind'
      print*, 'set correct value for nearkind in callphys.def'
      print*, 'which should be ',ia
      print*, 'according to current options in callphys.def'
      print*, 'or change/correct incompatible options there'
      print*, 'Abort in aerosol_init'
    endif
    call abort_physic("iniaerosl",'wrong number of aerosols',1)
  endif ! of if (ia.ne.naerkind)

which is then used in aerosol_opacity to enforce that

      if (iaero_co2.ne.0) then
           iaer=iaero_co2
!       1. Initialization
            aerosol(1:ngrid,1:nlayer,iaer)=0.0
!       2. Opacity calculation
            if (noaero) then ! aerosol set to zero
             aerosol(1:ngrid,1:nlayer,iaer)=0.0
            elseif (aerofixco2.or.(i_co2ice.eq.0)) then !  CO2 ice cloud prescribed
               aerosol(1:ngrid,1:nlayer,iaer)=1.e-9
               !aerosol(1:ngrid,12,iaer)=4.0 ! single cloud layer option
            else

So it all ends well.

But having to specify "naerkind=1" when desiring no aerosols is quite misleading for users. We should make the corrections to enable specifying "naerkind=0" in callphys.def

Change History (0)

Note: See TracTickets for help on using tickets.