Changeset 3125 for trunk/LMDZ.MARS/libf


Ignore:
Timestamp:
Nov 14, 2023, 3:25:37 PM (16 months ago)
Author:
abierjon
Message:

Mars GCM:
Add a sanity check on tau_pref_gcm in aeropacity when running without rescaling (dustscaling_mode=/=1), hence resolving ticket #156
+ add some comments and a sanity check in conf_phys to ensure freedust flag is not used with dustscaling_mode=1.

AB

Location:
trunk/LMDZ.MARS/libf/phymars
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.MARS/libf/phymars/aeropacity_mod.F

    r2921 r3125  
    911911        ENDDO
    912912        tau_pref_gcm(:) = tau_pref_gcm(:) * odpref / pplev(:,1)
     913       
     914        ! Sanity check : if tau_pref_gcm > 50 with no rescaling, there is probably an error somewhere
     915        if (maxval(tau_pref_gcm(:)).gt.50) then
     916          write(*,*) "Error in aeropacity: ",
     917     &     "tau_pref_gcm>50 while there is no rescaling to ",
     918     &     "the scenario (dustscaling_mode =/= 1). ",
     919     &     "Better stop here."
     920          write(*,*) "If you want to run with non-rescaled dust (GCM6)",
     921     &    " be sure to have good dust fields in start.nc using newstart"
     922          call abort_physic("aeropacity",
     923     &     "tau_pref_gcm>50 while no rescaling",1)
     924        endif
     925       
    913926      ELSE
    914927        ! dust opacity strictly follows what is imposed by the dust scenario
  • trunk/LMDZ.MARS/libf/phymars/conf_phys.F

    r3113 r3125  
    448448
    449449! dust rescaling mode (if any)
     450!     =0 --> freedust, tauscaling=1
     451!     =1 --> GCM5.3-like, tauscaling computed wrt tau_pref_scenario
     452!     =2 --> tauscaling=1 but dust_rad_adjust (rescaling for the radiative transfer only)
    450453         if (freedust) then
    451454           dustscaling_mode=0
     
    455458         call getin_p("dustscaling_mode",dustscaling_mode)
    456459         write(*,*) "dustscaling_mode=",dustscaling_mode
     460         if ((dustscaling_mode.eq.1).and.freedust) then
     461           print*,'freedust and dustscaling_mode=1 are incompatible !'
     462           call abort_physic(modname,
     463     &          "freedust and dustscaling_mode=1 are incompatible",1)
     464         endif         
    457465
    458466#ifndef MESOSCALE
     
    494502     &            should be used !'
    495503           call abort_physic(modname,
    496      &          "rdstorm or topflows requires activ",1)
     504     &          "rdstorm or topflows requires active",1)
    497505         endif
    498506         if (rdstorm.and..not.lifting) then
Note: See TracChangeset for help on using the changeset viewer.