Ignore:
Timestamp:
Jan 11, 2017, 3:33:51 PM (8 years ago)
Author:
jvatant
Message:

+ Major clean of the new LMDZ.TITAN from too-generic options and routines (water, co2, ocean, surface type ...)
+ From this revision LMDZ.TITAN begins to be really separated from LMDZ.GENERIC
+ Partial desactivation of aerosols, only the dummy case is still enabled to keep the code running ( new aerosol routines to come in followings commits )

JVO

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.TITAN/libf/phytitan/inifis_mod.F90

    r1542 r1647  
    235235     call getin_p("continuum",continuum)
    236236     write(*,*) " continuum = ",continuum
    237 
    238      write(*,*) "use analytic function for H2O continuum ?"
    239      H2Ocont_simple=.false. ! default value
    240      call getin_p("H2Ocont_simple",H2Ocont_simple)
    241      write(*,*) " H2Ocont_simple = ",H2Ocont_simple
    242237 
    243238     write(*,*) "call turbulent vertical diffusion ?"
     
    255250     call getin_p("calladj",calladj)
    256251     write(*,*) " calladj = ",calladj
    257 
    258      write(*,*) "call CO2 condensation ?"
    259      co2cond=.false. ! default value
    260      call getin_p("co2cond",co2cond)
    261      write(*,*) " co2cond = ",co2cond
    262 ! Test of incompatibility
    263      if (co2cond.and.(.not.tracer)) then
    264         print*,'We need a CO2 ice tracer to condense CO2'
    265         call abort
    266      endif
    267  
    268      write(*,*) "CO2 supersaturation level ?"
    269      co2supsat=1.0 ! default value
    270      call getin_p("co2supsat",co2supsat)
    271      write(*,*) " co2supsat = ",co2supsat
    272252
    273253     write(*,*) "Radiative timescale for Newtonian cooling ?"
     
    313293     write(*,*)" specOLR = ",specOLR
    314294
    315      write(*,*)"Operate in kastprof mode?"
    316      kastprof=.false.
    317      call getin_p("kastprof",kastprof)
    318      write(*,*)" kastprof = ",kastprof
    319 
    320295     write(*,*)"Uniform absorption in radiative transfer?"
    321296     graybody=.false.
     
    339314     write(*,*)" alpha_soil = ",alpha_soil
    340315
    341 ! Slab Ocean
    342      write(*,*) "Use slab-ocean ?"
    343      ok_slab_ocean=.false.         ! default value
    344      call getin_p("ok_slab_ocean",ok_slab_ocean)
    345      write(*,*) "ok_slab_ocean = ",ok_slab_ocean
    346      ! Sanity check: for now slab oncean only works in serial mode
    347      if (ok_slab_ocean.and.is_parallel) then
    348        write(*,*) " Error: slab ocean should only be used in serial mode!"
    349        call abort
    350      endif
    351 
    352      write(*,*) "Use slab-sea-ice ?"
    353      ok_slab_sic=.true.         ! default value
    354      call getin_p("ok_slab_sic",ok_slab_sic)
    355      write(*,*) "ok_slab_sic = ",ok_slab_sic
    356 
    357      write(*,*) "Use heat transport for the ocean ?"
    358      ok_slab_heat_transp=.true.   ! default value
    359      call getin_p("ok_slab_heat_transp",ok_slab_heat_transp)
    360      write(*,*) "ok_slab_heat_transp = ",ok_slab_heat_transp
    361 
    362 
    363 
    364 ! Test of incompatibility:
    365 ! if kastprof used, we must be in 1D
    366      if (kastprof.and.(ngrid.gt.1)) then
    367        print*,'kastprof can only be used in 1D!'
    368        call abort
    369      endif
    370 
    371      write(*,*)"Stratospheric temperature for kastprof mode?"
    372      Tstrat=167.0
    373      call getin_p("Tstrat",Tstrat)
    374      write(*,*)" Tstrat = ",Tstrat
    375 
    376316     write(*,*)"Remove lower boundary?"
    377317     nosurf=.false.
     
    441381! TRACERS:
    442382
    443      write(*,*)"Varying H2O cloud fraction?"
    444      CLFvarying=.false.     ! default value
    445      call getin_p("CLFvarying",CLFvarying)
    446      write(*,*)" CLFvarying = ",CLFvarying
    447 
    448      write(*,*)"Value of fixed H2O cloud fraction?"
    449      CLFfixval=1.0                ! default value
    450      call getin_p("CLFfixval",CLFfixval)
    451      write(*,*)" CLFfixval = ",CLFfixval
    452 
    453      write(*,*)"fixed radii for Cloud particles?"
    454      radfixed=.false. ! default value
    455      call getin_p("radfixed",radfixed)
    456      write(*,*)" radfixed = ",radfixed
    457 
    458      if(kastprof)then
    459         radfixed=.true.
    460      endif 
    461 
    462      write(*,*)"Number mixing ratio of CO2 ice particles:"
    463      Nmix_co2=1.e6 ! default value
    464      call getin_p("Nmix_co2",Nmix_co2)
    465      write(*,*)" Nmix_co2 = ",Nmix_co2
    466 
    467383!         write(*,*)"Number of radiatively active aerosols:"
    468384!         naerkind=0. ! default value
     
    470386!         write(*,*)" naerkind = ",naerkind
    471387
    472      write(*,*)"Opacity of dust (if used):"
    473      dusttau=0. ! default value
    474      call getin_p("dusttau",dusttau)
    475      write(*,*)" dusttau = ",dusttau
    476 
    477      write(*,*)"Radiatively active CO2 aerosols?"
    478      aeroco2=.false.     ! default value
    479      call getin_p("aeroco2",aeroco2)
    480      write(*,*)" aeroco2 = ",aeroco2
    481 
    482      write(*,*)"Fixed CO2 aerosol distribution?"
    483      aerofixco2=.false.     ! default value
    484      call getin_p("aerofixco2",aerofixco2)
    485      write(*,*)" aerofixco2 = ",aerofixco2
    486 
    487      write(*,*)"Radiatively active water ice?"
    488      aeroh2o=.false.     ! default value
    489      call getin_p("aeroh2o",aeroh2o)
    490      write(*,*)" aeroh2o = ",aeroh2o
    491 
    492      write(*,*)"Fixed H2O aerosol distribution?"
    493      aerofixh2o=.false.     ! default value
    494      call getin_p("aerofixh2o",aerofixh2o)
    495      write(*,*)" aerofixh2o = ",aerofixh2o
    496 
    497      write(*,*)"Radiatively active sulfuric acid aersols?"
    498      aeroh2so4=.false.     ! default value
    499      call getin_p("aeroh2so4",aeroh2so4)
    500      write(*,*)" aeroh2so4 = ",aeroh2so4
    501          
     388 
    502389!=================================
    503390
     
    553440!=================================
    554441
    555      write(*,*)"Cloud pressure level (with kastprof only):"
    556      cloudlvl=0. ! default value
    557      call getin_p("cloudlvl",cloudlvl)
    558      write(*,*)" cloudlvl = ",cloudlvl
    559 
    560      write(*,*)"Is the variable gas species radiatively active?"
    561      Tstrat=167.0
    562      varactive=.false.
    563      call getin_p("varactive",varactive)
    564      write(*,*)" varactive = ",varactive
    565 
    566      write(*,*)"Is the variable gas species distribution set?"
    567      varfixed=.false.
    568      call getin_p("varfixed",varfixed)
    569      write(*,*)" varfixed = ",varfixed
    570 
    571442     write(*,*)"What is the saturation % of the variable species?"
    572443     satval=0.8
     
    574445     write(*,*)" satval = ",satval
    575446
    576 
    577 ! Test of incompatibility:
    578 ! if varactive, then varfixed should be false
    579      if (varactive.and.varfixed) then
    580        print*,'if varactive, varfixed must be OFF!'
    581        stop
    582      endif
    583 
    584447     write(*,*) "Gravitationnal sedimentation ?"
    585448     sedimentation=.false. ! default value
    586449     call getin_p("sedimentation",sedimentation)
    587      write(*,*) " sedimentation = ",sedimentation
    588 
    589      write(*,*) "Compute water cycle ?"
    590      water=.false. ! default value
    591      call getin_p("water",water)
    592      write(*,*) " water = ",water
    593          
    594 ! Test of incompatibility:
    595 ! if water is true, there should be at least a tracer
    596      if (water.and.(.not.tracer)) then
    597         print*,'if water is ON, tracer must be ON too!'
    598         stop
    599      endif
    600 
    601      write(*,*) "Include water condensation ?"
    602      watercond=.false. ! default value
    603      call getin_p("watercond",watercond)
    604      write(*,*) " watercond = ",watercond
    605 
    606 ! Test of incompatibility:
    607 ! if watercond is used, then water should be used too
    608      if (watercond.and.(.not.water)) then
    609         print*,'if watercond is used, water should be used too'
    610         stop
    611      endif
    612 
    613      write(*,*) "Include water precipitation ?"
    614      waterrain=.false. ! default value
    615      call getin_p("waterrain",waterrain)
    616      write(*,*) " waterrain = ",waterrain
    617 
    618      write(*,*) "Include surface hydrology ?"
    619      hydrology=.false. ! default value
    620      call getin_p("hydrology",hydrology)
    621      write(*,*) " hydrology = ",hydrology
    622 
    623      write(*,*) "Evolve surface water sources ?"
    624      sourceevol=.false. ! default value
    625      call getin_p("sourceevol",sourceevol)
    626      write(*,*) " sourceevol = ",sourceevol
    627 
    628      write(*,*) "Ice evolution timestep ?"
    629      icetstep=100.0 ! default value
    630      call getin_p("icetstep",icetstep)
    631      write(*,*) " icetstep = ",icetstep
    632          
    633      write(*,*) "Spectral Dependant albedo ?"
    634      albedo_spectral_mode=.false. ! default value
    635      call getin_p("albedo_spectral_mode",albedo_spectral_mode)
    636      write(*,*) " albedo_spectral_mode = ",albedo_spectral_mode
    637 
    638      write(*,*) "Snow albedo ?"
    639      write(*,*) "If albedo_spectral_mode=.true., then this "
    640      write(*,*) "corresponds to the 0.5 microns snow albedo."
    641      albedosnow=0.5         ! default value
    642      call getin_p("albedosnow",albedosnow)
    643      write(*,*) " albedosnow = ",albedosnow
    644          
    645      write(*,*) "CO2 ice albedo ?"
    646      albedoco2ice=0.5       ! default value
    647      call getin_p("albedoco2ice",albedoco2ice)
    648      write(*,*) " albedoco2ice = ",albedoco2ice
    649 
    650      write(*,*) "Maximum ice thickness ?"
    651      maxicethick=2.0         ! default value
    652      call getin_p("maxicethick",maxicethick)
    653      write(*,*) " maxicethick = ",maxicethick
    654 
    655      write(*,*) "Freezing point of seawater ?"
    656      Tsaldiff=-1.8          ! default value
    657      call getin_p("Tsaldiff",Tsaldiff)
    658      write(*,*) " Tsaldiff = ",Tsaldiff
     450     write(*,*) " sedimentation = ",sedimentation       
    659451
    660452     write(*,*) "Does user want to force cpp and mugaz?"
Note: See TracChangeset for help on using the changeset viewer.