Changeset 3196


Ignore:
Timestamp:
Jan 31, 2024, 5:30:43 PM (11 months ago)
Author:
afalco
Message:

Pluto PCM:

Included N2 condensation from PLUTO.old & read haze aerosols.

AF

Location:
trunk/LMDZ.PLUTO
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LMDZ.PLUTO/changelog.txt

    r3195 r3196  
    3939    - adapted phyetat0.F for subterranean temperature & inertia
    4040    - adapted physdem1.F to include new soil stuff
    41     - physiq.F : added calls to writediagsoil 
     41    - physiq.F : added calls to writediagsoil
    4242    - soil.F : new routine (fixed vertical grid + variable thermal inertia)
    4343    - added soil_settings.F (to read/initialize/interpolate soil properties)
     
    8282    - modified vdifc.F and callsedim.F back
    8383    - modified initracer.F (so that water names are h2o_vap & h2o_ice)
    84    
     84
    8585== 29/09/08 ==
    8686    - modified aeronomars/init_chimie_B (cosmetics)
     
    8888      "pause" error messages to 'stop' messages
    8989    - modified phymars/watercloud.F to use tracers by name
    90     - corrected aeronomars/molvis.F (undefined 'fac' and 'Akk' written to 
     90    - corrected aeronomars/molvis.F (undefined 'fac' and 'Akk' written to
    9191       output at first call)
    92    
     92
    9393== 30/09/08 ==
    9494    - modified aeronomars/calchim.F to use tracers by name
     
    171171     enforce (if set to .true.) that co2 mass mixing ratio remains bounded.
    172172== 07/11/08 ==
    173     - corrected 'writediagfi' & 'writediagsoil' so that an error message is 
     173    - corrected 'writediagfi' & 'writediagsoil' so that an error message is
    174174      issued if called with a variable name which is too long.
    175175== 18/12/08 ==
     
    230230        (removed dustopacity.F)
    231231    - updated aeropacity.F with new tracer names
    232     - changed the call to callradite.F in physiq.F, added the initialization 
     232    - changed the call to callradite.F in physiq.F, added the initialization
    233233        of reffrad and nueffrad (aerosol effective radius and variance)
    234234    - removed all the lines relative to the old "activice" option, including
     
    252252
    253253== 06/07/09 ==
    254 >>> Modified 'makegcm' and makegcm_g95' so that modules files are put 
     254>>> Modified 'makegcm' and makegcm_g95' so that modules files are put
    255255    with libraries (and not in current directory)
    256256
    257257==
    258258== WORK FOR GENERIC MODEL STARTS HERE
    259 == 
    260    
     259==
     260
    261261== 01/08/09 ==
    262262>>> Old Martian radiative transfer removed completely, new correlated-k
     
    279279>>> Many new options added to callphys.def.
    280280
    281    
    282    
    283    
    284    
     281
     282
     283
     284
    285285== 25/11/2009 ==
    286286>>>> List of changes and modifications
     
    302302-- adapted 'create_make_gcm' and 'makegcm' scripts so that we don't need
    303303   to have and (unused) 'aeronomars' directory around.
    304  
     304
    305305-- shifted to reading traceur.def (dyn3d/iniadvtrac.F) in an Earth-LMDZ4-like
    306306   fashion:
     
    313313   such as rotation rate, molar mass of atmosphere, ...
    314314   (NB: note however that we seem to lose dynamics/physics coherence ...
    315     we should probably read these values from a planet.def file) 
     315    we should probably read these values from a planet.def file)
    316316
    317317-- Changed condens_co2cloud.F : added a check for presence of CO2 gas and output
     
    351351>>> cosmetic change in callphys.def : separate "universal" parameters
    352352    and planet-specific parameters (in a separate file, e.g. earlymars.def)
    353    
     353
    354354== 22/01/2010 ==
    355355==> call this version LMDZ.GENERIC
     
    388388   Two new functions were added: one to produce .nc files of the OLR
    389389   by band, and the other to save the upgoing radiation by band in 1D
    390    as a .txt file. 
     390   as a .txt file.
    391391-- general structure --
    392392   tabfi.F, newstart.F etc. cleaned up + it was checked that they pass
     
    452452   Pressure is now distributed better in newstart.F. There was a bug before when the global mean of phi
    453453   was not equal to zero and the surface pressure was changed with topography still present.
    454    In initracer, we no longer automatically set h2o_vap=h2o_ice.   
     454   In initracer, we no longer automatically set h2o_vap=h2o_ice.
    455455
    456456-- general --
     
    460460   I cleaned up the method of displaying energy balance and temperature range in the model a bit.
    461461   Pure H2 atmospheres are now permitted, although the code is _untested_. Rayleigh scattering,
    462    specific heat capacities and molar masses are varied, and the H2-H2 collision-induced data 
     462   specific heat capacities and molar masses are varied, and the H2-H2 collision-induced data
    463463   of Grushka et al. is used for the radiative transfer.
    464464
     
    472472   for use in aeropacity. Surface wetness (beta) is now calculated in a simple way, and
    473473   outputed as a diagnostic, along with the atmospheric relative humidity.
    474  
     474
    475475   mol/mol to kg/kg bug in callcorrk corrected.
    476476
    477477-- radiative transfer --
    478    A major bug in gfluxv.F was corrected. It involved BSURF, the radiation reflected upwards from 
     478   A major bug in gfluxv.F was corrected. It involved BSURF, the radiation reflected upwards from
    479479   the ground.
    480480   In aeropacity, we now set the cloud opacity in the top layer of the atmosphere to zero. This solves
     
    501501
    502502-- startup --
    503    a bug involving tsoil interpolation in lect_start_archive.F was corrected.   
     503   a bug involving tsoil interpolation in lect_start_archive.F was corrected.
    504504
    505505-- aerosols --
     
    507507
    508508-- water cycle --
    509    Big fat bug in rain.F90 corrected. The routine internally updated the temperature 
     509   Big fat bug in rain.F90 corrected. The routine internally updated the temperature
    510510   with new tendencies before it was supposed to happen!
    511511   Bug in oborealis where phi not properly updated was corrected.
     
    517517
    518518-- convection --
    519    I found a bug in convadj.F that breaks tracer conservation when convection stops at one layer 
     519   I found a bug in convadj.F that breaks tracer conservation when convection stops at one layer
    520520   and immediately restarts in the next one.
    521521
    522522-- diagnostics --
    523    Some bugs corrected in the computation of 3D averages for the H2O / energy conservation 
     523   Some bugs corrected in the computation of 3D averages for the H2O / energy conservation
    524524   diagnostics.
    525525
     
    541541  to use "SOURCE" to identify code and be compatible with latest
    542542  'create_make_gcm'.
    543  
     543
    544544== 10/11/2011 == EM
    545545- Upgrade: The location of the 'datagcm' directory can now be given in the
     
    557557- Allocation is done in sugas_corrk which is within firstcall loop in callcorrk.
    558558- Note that N_LGAUSS is still a parameter. It is not supposed to change much.
    559 - Compiles fine. Tested with debugging options through pgdbg. Runs fine. Exact same results in Early Mars test case. 
     559- Compiles fine. Tested with debugging options through pgdbg. Runs fine. Exact same results in Early Mars test case.
    560560
    561561Modified files:
     
    597597
    598598== 27/02/2012 == AS
    599 - Temperature grid for Planck calculations can now be refined through the parameter NTfac in radinc_h. 
     599- Temperature grid for Planck calculations can now be refined through the parameter NTfac in radinc_h.
    600600  Default is NTfac = 1.0D-1, i.e. Delta T = 0.1 K
    601601
     
    639639- Cleaned continuum part in optc*
    640640- Added .def files for a typical 1d earth case in deftank (dry case for the moment)
    641 - Corrects a bug on potential temperature calculation in physic 
     641- Corrects a bug on potential temperature calculation in physic
    642642
    643643== 27/03/2012 == JL
     
    651651- As much as possible, only the value of the stephan boltzmann constant defined in racommon_h (and the
    652652corresponding variable, sigma) should be used. Now done in physics, vdifc and turbdiff.
    653  
     653
    654654== 16/04/2012 == JL
    655655- Added consistency checks for calculations including water and global1d+diurnal.
     
    657657
    658658== 04/05/2012 == JL
    659 - Correction a huge bug in newstart: rcp and cpp can now be changed in start.nc files and are the same as in startfi.nc; 
     659- Correction a huge bug in newstart: rcp and cpp can now be changed in start.nc files and are the same as in startfi.nc;
    660660       Even when starting from start and startfi files.
    661661   - rcp, cpp and mugaz can now be computed using gases.def in newstart
     
    688688- Some cleanup in start2archive.F and ini_archive.F to get them to work for
    689689  the generic model (removed some "Martian" specificities).
    690  
     690
    691691== 17/07/2012 == JL for LK
    692692- Generalization of aerosol scheme:
     
    694694    not important anymore.
    695695    - addition of a module with the id numbers for aerosols (aerosol_mod.F90).
    696     - initialization of aerosols id numbers in iniaerosol.F90 
     696    - initialization of aerosols id numbers in iniaerosol.F90
    697697    - compile with -s x where x *must* be equal to the number of aerosols turned on in callphys.def (either by a
    698698    flag or by dusttau>0 for dust).
     
    702702- If starting from an old start file, recreate start file with the q=0 option in newstart.e.
    703703- update callphys.def with aeroXXX and aerofixXXX options (only XXX=co2,h2o supported for
    704 now). Dust is activated by setting dusttau>0. See the early mars case in deftank. 
     704now). Dust is activated by setting dusttau>0. See the early mars case in deftank.
    705705- To add other aerosols, see Laura Kerber.
    706706
    707707== 18/07/2012 == JL
    708708- New water cycle scheme:
    709    - largescale now in F90. Robustness increased by i) including evap inside largescale ii) computing the 
     709   - largescale now in F90. Robustness increased by i) including evap inside largescale ii) computing the
    710710        condensed water amount iteratively
    711711   - same improvements in moistadj.
     
    715715       - Saturation curves are now generalized for arbitrary water amount (not just q<<1)
    716716       - The old watersat should be removed soon.
    717    - The effect of water vapor on total (surface) pressure can be taken into account by setting 
     717   - The effect of water vapor on total (surface) pressure can be taken into account by setting
    718718      mass_redistrib=.true. in callphys.def (routine mass_redistribution inspired from co2_condense in martian
    719719      model but with a different scheme as many routines evaporate/condense water vapor).
     
    723723   - Totalcloudfraction now set the total cloud fraction to the fraction of the
    724724      optically thickest cloud and totalcloudfrac is thus called in aeropacity.
    725    - Only the total cloud fraction is used to compute optical depth in aeropacity (no more effective 
     725   - Only the total cloud fraction is used to compute optical depth in aeropacity (no more effective
    726726      optical depth with exponential formula).
    727727   - 4 precipitation schemes are now available (see rain.F90 for details). The choice can be made using precip_scheme
     
    730730   - See rain.f90 to determine the parameter to be defined in callphys.def as a function of the precipitation scheme used.
    731731- Physiq.F90 now written in a matricial (more F90) way.
    732 - Radii (H2O and CO2 cloud particles, aerosols, duts, ...) calculations now centralized in module radii_mod.F90 
     732- Radii (H2O and CO2 cloud particles, aerosols, duts, ...) calculations now centralized in module radii_mod.F90
    733733   and work with the new aerosol scheme implemented by Laura K. Some inconsistency may remain in callsedim.
    734734- Corrected gray gas mode. The use of kappa_VI or kappa_IR far a given band is now based on its wavenumber independently of
    735    SW and LW calculations 
    736    
     735   SW and LW calculations
     736
    737737Implementation compiled with ifort and pgf90.
    738 gcm.e runs in Earth and Early Mars case with CO2 and H2O cycle + dust. 
     738gcm.e runs in Earth and Early Mars case with CO2 and H2O cycle + dust.
    739739
    740740== 19/07/2012 == JL
     
    755755    -Can now handle any prograde resonance with nres=omega_rot/omega_orb.
    756756    -Sun now goes westward for the standard 2:1 case, as expected.
    757 - In the gray case, the separation between kappa_IR and VI is now set by 
     757- In the gray case, the separation between kappa_IR and VI is now set by
    758758    wave number, independently of the usual IR/VISIBLE calculation separation.
    759759    i.e. kappa_IR can be used in the calculation of the downward stellar flux
     
    787787  --> debug mode : perfect match. bit by bit (diff command). checked with plots
    788788  --> O1 mode : close match (checked with plots)
    789   --> O2 mode : sometimes up to 0.5 K departure.... 
     789  --> O2 mode : sometimes up to 0.5 K departure....
    790790  BUT in this new version O2 and O1 are quite close while in previous version O1 and O2 differed by about, well, typically 0.5 K
    791791  (pictures available on request)
     
    802802    tracer.h >> tracer_h.F90
    803803    comsaison.h >> comsaison_h.F90
    804     comgeomfi.h >> comgeomfi_h.F90   
     804    comgeomfi.h >> comgeomfi_h.F90
    805805    comsoil.h >> comsoil_h.F90
    806806    comdiurn.h >> comdiurn_h.F90
     
    811811- Suppressing any mention to advtrac.h which is a common in the dynamics and needs nqmx
    812812  This was easily solved by adding an argument with tracer names, coming from the dynamics
    813   This is probably not a definitive solution, 
     813  This is probably not a definitive solution,
    814814  ... but this allows for generic physics to work easily with either LMDZ.GENERIC or LMDZ dynamical cores
    815815- Removing consistency tests between nq and nqmx ; and ngrid and ngridmx. No use now!
     
    819819- Now written so that a slice of horizontal size 'ngrid' starting at grid point 'cursor' is read in startfi.nc
    820820  'cursor' is defined in dimphys.h and initialized by inifis (or in newstart)
    821   this is useful for parallel computations. 
     821  this is useful for parallel computations.
    822822  default behavior is the usual one : sequential runs, cursor is 1, size ngrid is the whole global domain
    823823
    824 A note on an additional change : 
     824A note on an additional change :
    825825- nueffrad is now an argument to callcorrk as is the case for reffrad
    826826  both are saved in physiq
    827827  this is for consistency and lisibility (previously nueffrad was saved in callcorrk)
    828828  ... but there is a call to a function which modifies nueffrad in physiq
    829   ... previously this was not modifying nueffrad (although it was quite cumbersome to detect this) 
     829  ... previously this was not modifying nueffrad (although it was quite cumbersome to detect this)
    830830  ... to be conservative I kept this behaviour and highlighted it with an array nueffrad_dummy
    831831  ... I added a comment because someone might want to change this
    832832
    833833== 20/09/2012 == AS
    834 A more robust way to count lines in setspi and setspv. 
     834A more robust way to count lines in setspi and setspv.
    835835bandlen.txt file is no longer used. This was causing problems with MPI computations.
    836836
     
    844844
    845845== 20/12/2012 == EM
    846 - Fixed sedimentation issue: ensure in callsedim that the correct radii are 
     846- Fixed sedimentation issue: ensure in callsedim that the correct radii are
    847847  provided to newsedim and also that the updated temperature and tracer
    848848  mixing ratios are used to compute sedimentation.
     
    854854
    855855== 10/01/2013 == AS
    856 - Fixed an allocating bug which arises from previous modifications 
     856- Fixed an allocating bug which arises from previous modifications
    857857  owing to the double use of callcorrk with CLF_varying
    858858- Fixed a small bug in a diagnostic in the end of calc_rayleigh. Some picky compilers complain.
     
    870870
    871871== 24/01/2013 == AS + JL
    872 A more robust way to refer to gas type. 
     872A more robust way to refer to gas type.
    873873- Gas names with an arbitrary number of characters (<20) can be used
    874874  This is good for C2H2, C2H6, H2SO4, C17H21NO4, etc...
    875875  !!! Remember this must be compliant with Q.dat in corrk_data !!!
    876 - igas_... labels are assigned once for all in su_gases 
     876- igas_... labels are assigned once for all in su_gases
    877877  Then using igas_... everywhere instead of gnom (except for kcm stuff)
    878878- Users can still use e.g. H2_ but H2 also works
     
    894894- Corrected a bug: Continuum in inifis instead of continuum
    895895    ... until now, most users (unbeknownst to them) were running with the continuum by default!
    896 - Cosmetic changes in optcv (mostly spaces and line breaks) 
     896- Cosmetic changes in optcv (mostly spaces and line breaks)
    897897    ... so that comparisons with optci are easy e.g. through vimdiff
    898    
     898
    899899== 11/02/2013 == JL
    900 - Updated moist convection scheme to handle situations with a large water vapor content 
     900- Updated moist convection scheme to handle situations with a large water vapor content
    901901- Added a keyword to enable ocean runoff in callphys.def (activerunoff)
    902902
     
    907907- because N2 and H2O continua databases are smaller, improvement around 15% for
    908908an earth case.
    909  
     909
    910910== 25/02/2013 == EM
    911911- added "-fp-model precise" option when compiling with ifort (fixes unexplained
    912912  mass loss of tracer in the dynamics)
    913  
     913
    914914== 13/03/2013 == AS + EM
    915915- corrected a bug in bilinearbig (found with debug mode)
     
    924924- optimization of optci and optcv routines. 15to 25% gain on these routines.
    925925     around 10% on the whole code with 1 scatterer.
    926      - No changes on output (byte to byte) 
    927 - corrected bug in gray case in callcorrk. 
     926     - No changes on output (byte to byte)
     927- corrected bug in gray case in callcorrk.
    928928- added profiling option in makegcm_ifort. See the file for details
    929929- changed capcal back to default in physics
    930930
    931931== 01/05/2013 == AS + JL
    932 - added possibility to remove surface 
     932- added possibility to remove surface
    933933  (particularly exchanges heat+momentum exchanges between surface and atmosphere)
    934934- added possibility to add an internal heat flux
     
    956956  file name)
    957957- Some general cleanup:
    958   - in bibio: removed unused lmdstd.h readstd.F writestd.F mywrite.F 
     958  - in bibio: removed unused lmdstd.h readstd.F writestd.F mywrite.F
    959959              readcoord.F scatter.F gather.F ini36.F from36.F to36.F
    960960              lnblnk.F (F90 len_trim() should be used instead)
     
    10331033
    10341034== 10/07/2014 == EM
    1035 Some cleanup to simplify dynamics/physics interactions by getting rid 
     1035Some cleanup to simplify dynamics/physics interactions by getting rid
    10361036of dimphys.h (i.e. the nlayermx parameter) and minimizing use of
    10371037dimension.h in the physics.
     
    10661066  interactions, e.g. routines gr_dyn_fi or gr_fi_dyn and calfis
    10671067- Moreover the dynlonlat_phylonlat contains directory "phystd".
    1068   This subdirectories should only contain specific interfaces (e.g. 
     1068  This subdirectories should only contain specific interfaces (e.g.
    10691069  iniphysiq) or main programs (e.g. newstart).
    10701070* phystd/dyn1d: this subdirectory contains the 1D models.
     
    10761076
    10771077== 16/09/2015 == EM
    1078 - reorganizing the "datadir" structure: aerosol properties should now be in 
     1078- reorganizing the "datadir" structure: aerosol properties should now be in
    10791079  subdirectory 'aerosol_properties' of datadir, and surface.nc files should
    10801080  be in subdirectory 'surface_data'. These subdirectory names are stored in
     
    11551155== 05/04/2016 == EM
    11561156- Got rid of references to "dimensions.h" from physics packages:
    1157   use nbp_lon (=iim), nbp_lat (=jjp1) and nbp_lev 
     1157  use nbp_lon (=iim), nbp_lat (=jjp1) and nbp_lev
    11581158  from module mod_grid_phy_lmdz (in phy_common) instead.
    11591159- Removed module "comhdiff_mod.F90", as it is only used by module
    11601160  surf_heat_transp_mod.F90, moved module variables there.
    11611161- Added in "surf_heat_transp_mod" local versions of some arrays
    1162   and routines (from dyn3d) required to compute gradient, divergence, etc. 
     1162  and routines (from dyn3d) required to compute gradient, divergence, etc.
    11631163  on the global dynamics grid.
    11641164  As before, the slab ocean only works in serial.
     
    11781178
    11791179== 08/04/2016 == EM
    1180 - Made nsoilmx be no longer a "parameter" and thus added the possibility to define the 
     1180- Made nsoilmx be no longer a "parameter" and thus added the possibility to define the
    11811181  number of subsurface layers nsoilmx, along with first layer thickness "lay1_soil" and
    11821182  companion coefficient "alpha_soil", in callphys.def at run time.
     
    11911191
    11921192== 18/04/2016 == EM
    1193 - fix for 1D in writediagfi to enable writing at 
     1193- fix for 1D in writediagfi to enable writing at
    11941194  "ecritphy" rate.
    11951195- move iniprint.h to "misc"
    11961196- Some code cleanup in anticipation of future updates:
    11971197 - changed variable names in comgeomphy.F90: give them more
    1198    explicit names: rlond => longitude , 
     1198   explicit names: rlond => longitude ,
    11991199   rlatd => latitude, airephy => cell_area,
    12001200   cuphy => dx , cvphy => dy
     
    12341234== 12/07/2016 == EM
    12351235- move initialization of dimphy from inigeomphy to iniphysiq (initializations
    1236 related to routines in phy_common or dynphy_lonlat can be done in 
     1236related to routines in phy_common or dynphy_lonlat can be done in
    12371237inigeomphy, but any initialization for modules/routines in a physics
    12381238package (directory phystd) must be done in the related phystd/iniphysiq
     
    12601260== 15/09/2016 == TB
    12611261- bug fix in tpindex.F : when computing weights for abundance of species one
    1262   should not return the maximum index (leads to out-of-bounds index use in 
     1262  should not return the maximum index (leads to out-of-bounds index use in
    12631263  the caller).
    12641264
     
    12831283
    12841284== 21/02/2017 == EM
    1285 Added possibility to run without a startfi.nc file (mainly usefull for 
     1285Added possibility to run without a startfi.nc file (mainly usefull for
    12861286tests with coupling with dynamico dynamical core):
    12871287- added flag "startphy_file" flag (.false. if doing an "academic" start
     
    13041304- xios_output_mod.F90 : update initialize_xios_output initialization
    13051305                        of the horizontal domain
    1306 In dynphy_lonlat : 
     1306In dynphy_lonlat :
    13071307- inigeomphy_mod.F90 : add ind_cell_glo computation and  transfer
    13081308                       to init_geometry
     
    13761376Start a series of commits to change the upper boundary conditions in the radiative transfer to solve some issues with the last two layers.
    13771377It seems to be good to have aerosols in the first "radiative layer" of the gcm in the IR but visible does not handle very well diffusion in first layer.
    1378 Tauaero and tauray are set to 0 (a small value for rayleigh because the code crashes otherwise) in the 4 first semilayers in optcv, but not optci. 
    1379 This solves random variations of the sw heating at the model top. 
     1378Tauaero and tauray are set to 0 (a small value for rayleigh because the code crashes otherwise) in the 4 first semilayers in optcv, but not optci.
     1379This solves random variations of the sw heating at the model top.
    13801380
    13811381== 28/08/2018 == JL
    1382 We now shift the radiative model top from p=0 to the middle of the last physical layer. This is done by changing pmid and plevrad in callcorrk and some corrections need to be done in gfluxv. 
     1382We now shift the radiative model top from p=0 to the middle of the last physical layer. This is done by changing pmid and plevrad in callcorrk and some corrections need to be done in gfluxv.
    13831383This seems to get rid of the aratic temperature behavior in the last two layers of the model (especially on the night side on synchronous planets).
    13841384Additional speedup corrections have been made in gfluxi that change nothing to the result.
     
    14791479
    14801480== 29/04/2019 == JVO
    1481 + Add diagnostics of optical thickness, if 'diagdtau' key is activated, it 
     1481+ Add diagnostics of optical thickness, if 'diagdtau' key is activated, it
    14821482 outputs dtaui/v(altitude) in diagfi.nc for every narrowband (could be done with one var
    14831483 but would require to be able to have writediag in 5D)
     
    15081508- the thermal plume model is able to manage several plumes in the same column and work without the convective adjustment.
    15091509
    1510 == 24/02/2020 (r2243) == JVO 
     1510== 24/02/2020 (r2243) == JVO
    15111511- Get rid of the old 'sparadrap' in iniorbit.F assuming Mkm instead of AU if periastre or apostre gt 25, (otherwise Neptune is a pb)
    15121512  Everybody should be using AU, that's all.
     
    15371537 It can be called using 'aeronlay=.true.' in callphys.def, and set the number of layers (up to 4) with 'nlayaero'.
    15381538 Then, the following parameters are read as arrays of size nlayaero in callphys.def (separated by blank space)
    1539  
     1539
    15401540*aeronlay_tauref  (Optical depth of aerosol layer at ref wavelenght)
    15411541*aeronlay_lamref  (Ref wavelenght (m))
     
    15611561   + Following the last point some comment is added in suaer_corrk about the 'not-really-dummy'ness of IR lamref..
    15621562
    1563 == 27/04/2020 (r2299) == DB 
    1564 Add non-orographic gravity waves drag parameterization (Flott scheme adpated from the Earth GCM) 
     1563== 27/04/2020 (r2299) == DB
     1564Add non-orographic gravity waves drag parameterization (Flott scheme adpated from the Earth GCM)
    15651565 It can be called using 'calllott_nonoro=.true.' in callphys.def, and set the maximum value of the Eliassen-Plam flux 'epflux_max'.
    15661566 Cumulated output fields are du_nonoro, dv_nonoro (winds tendency due to GW drag), east_gwstress and west_gwstress (stress profile in esatward and westward direction due to GW drag)
     
    15701570When using the "season=.false." option then the orbital parameters are frozen and set by day_ini which is stored in startfi.nc.
    15711571But at the end of the run "day_ini" written in the restartfi.nc file is updated to match current calendar evolution (to match dynamics), so in chained simulations orbital parameters in fact change with each new simulation...
    1572 Add a parameter to lock a no seasonal cycle simulation during restart. 
    1573 One sets the initial day using 'season=.false.' and set 'noseason_day'. This commit fixed the tickets #42 on planeto tack 
     1572Add a parameter to lock a no seasonal cycle simulation during restart.
     1573One sets the initial day using 'season=.false.' and set 'noseason_day'. This commit fixed the tickets #42 on planeto tack
    15741574BE CARREFUL, there is a mistake in the previous commit message: it is actually SEASON=.FALSE.
    15751575
    15761576== 05/05/2020 (r2308) == JVO
    1577 Fix a nasty copy-paste bug from r2297 in n-layer aerosol scheme 
     1577Fix a nasty copy-paste bug from r2297 in n-layer aerosol scheme
    15781578
    15791579== 05/06/2020 == EM
     
    15891589
    15901590== 09/07/2020 == DB
    1591 Add kstar parameter to control kmin value (set value in the parameterization). kmin=1/lambda_max, to ensure the "subgrid scale" characteristic, we have to constrain the maximum GW's wavelength (lambda_max) by the size of the mesh. So, kmin=max(kstar, kmin prescribed value) 
     1591Add kstar parameter to control kmin value (set value in the parameterization). kmin=1/lambda_max, to ensure the "subgrid scale" characteristic, we have to constrain the maximum GW's wavelength (lambda_max) by the size of the mesh. So, kmin=max(kstar, kmin prescribed value)
    15921592
    15931593== 21/10/2020 == YJ
     
    16301630
    16311631== 16/03/2021 == AB
    1632 Commit the last changes in the thermal plume model which was waiting for one year. 
     1632Commit the last changes in the thermal plume model which was waiting for one year.
    16331633
    16341634== 18/03/2021 == YJ
     
    16551655- Update of the water continuum (H2O-H2O and H2O-AIR): MT_CKD v3.3
    16561656- New file in phystd/: interpolateH2O_self_foreign.F90
    1657 - New continua (H2O-AIR_continuum_MT_CKD3.3.cia and H2O-H2O_continuum_MT_CKD3.3.cia) 
     1657- New continua (H2O-AIR_continuum_MT_CKD3.3.cia and H2O-H2O_continuum_MT_CKD3.3.cia)
    16581658can be downloaded from  https://www.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/continuum_data/
    16591659- Now the water continnum is defined between 0.1 and 20000cm-1
    1660 - We also removed the old (obsolete) parameterizations (CKD and PPC) from the code 
     1660- We also removed the old (obsolete) parameterizations (CKD and PPC) from the code
    16611661
    16621662==16/06/2021 == MT
     
    17131713
    17141714== 22/02/2022 == GM
    1715 Minor bug fix for aerave_new.F when input wavelenght in data file are in 
     1715Minor bug fix for aerave_new.F when input wavelenght in data file are in
    17161716descending order.
    17171717
     
    18321832Add output for atmospheric escape fluxes at the top of the model,
    18331833available for any tracers, this is calculated in deposition routine.
    1834 Corection: add hydrology flag to calculate surface albedo used for the 
     1834Corection: add hydrology flag to calculate surface albedo used for the
    18351835radiative transfer in photolysis online calculation.
    18361836This was needed to be consistent with the way to calculate the surface albedo.
    18371837
    18381838== 25/01/2024 == AF
    1839 Added LMDZ.PLUTO, a copy of the generic model cleaned of some 
     1839Added LMDZ.PLUTO, a copy of the generic model cleaned of some
    18401840unnecessary modules
     1841
     1842== 31/01/2024 == AF
     1843Included N2 condensation from PLUTO.old & read haze aerosols.
  • trunk/LMDZ.PLUTO/libf/phypluto/aeroptproperties.F90

    r3184 r3196  
    3838!     ==============================================================
    3939
    40 !     Local variables 
     40!     Local variables
    4141!     ---------------
    4242
     
    198198!      REAL :: omegaREFvis3d(ngrid,nlayer,naerkind)
    199199!      REAL :: omegaREFir3d(ngrid,nlayer,naerkind)
     200
     201      REAL :: minrad    ! minimal radius in table .dat radiustab (outside 0)
     202      REAL :: maxrad
    200203
    201204!     0. Allocate local saved arrays at firstcall
     
    246249        ALLOCATE(qsqrefIRb(L_NSPECTI,ngau,naerkind))
    247250        ALLOCATE(qrefIRb(ngau,naerkind))
    248        
     251
    249252        ALLOCATE(omegIRa(L_NSPECTI,ngau,naerkind))
    250253        ALLOCATE(omegrefIRa(ngau,naerkind))
     
    253256        ALLOCATE(gIRa(L_NSPECTI,ngau,naerkind))
    254257        ALLOCATE(gIRb(L_NSPECTI,ngau,naerkind))
    255        
     258
    256259        first_allocate=.false.
    257260      ENDIF ! of IF (first_allocate)
     
    317320           enddo
    318321        endif
     322
     323        ! check that radiustab (table.dat) cover the reffrad used for haze : iaer=1
     324        minrad=min(MINVAL(radiustab(1,1,1:nsize(1,1))),MINVAL(radiustab(1,2,1:nsize(1,2))))
     325        maxrad=min(MAXVAL(radiustab(1,1,1:nsize(1,1))),MAXVAL(radiustab(1,2,1:nsize(1,2))))
     326        IF ((MINVAL(reffrad).LE.minrad).OR.(MAXVAL(reffrad).GE.maxrad)) then
     327           WRITE(*,*) 'Warning: particle size in grid box #'
     328           WRITE(*,*) ig,' is too large to be used by the '
     329           WRITE(*,*) 'radiative transfer; please extend the '
     330           WRITE(*,*) 'interpolation grid to larger grain sizes.'
     331           WRITE(*,*) 'radiustab=',minrad,'-',maxrad
     332           WRITE(*,*) 'reffrad=',MINVAL(reffrad),'-',MAXVAL(reffrad)
     333           stop
     334        ENDIF
    319335
    320336        firstcall = .false.
     
    412428            qsqrefVISb(m,gausind,iaer)=                         &
    413429                    (1-kint)*QVISsQREF(m,iaer,radius_id) +      &
    414                     kint*QVISsQREF(m,iaer,radius_id+1)   
     430                    kint*QVISsQREF(m,iaer,radius_id+1)
    415431            omegVISb(m,gausind,iaer)=                           &
    416432                    (1-kint)*omegaVIS(m,iaer,radius_id) +       &
     
    500516                    EXP(-dista(j,1,iaer,idomain,gausind) *            &
    501517                    dista(j,1,iaer,idomain,gausind) *                 &
    502                     0.5e0/sizedistk2)/(radiusm-drad)                 
     518                    0.5e0/sizedistk2)/(radiusm-drad)
    503519                  dista(j,1,iaer,idomain,gausind) =                   &
    504520                    dista(j,1,iaer,idomain,gausind) /                 &
     
    540556!                     Convolution:
    541557                      qextVISgrid(j,1,m,iaer) =              &
    542                         qextVISgrid(j,1,m,iaer) +            & 
     558                        qextVISgrid(j,1,m,iaer) +            &
    543559                        weightgaus(gausind) *                &
    544560                        (                                    &
     
    609625                      (                                      &
    610626                      omegrefVISb(gausind,iaer) *            &
    611                       qrefVISb(gausind,iaer) *               & 
     627                      qrefVISb(gausind,iaer) *               &
    612628                      pi*radGAUSb(gausind,iaer,idomain) *    &
    613629                      radGAUSb(gausind,iaer,idomain) *       &
     
    622638
    623639                  qrefVISgrid(j,1,iaer)=qrefVISgrid(j,1,iaer) /          &
    624                                 normd(j,1,iaer,idomain)       
     640                                normd(j,1,iaer,idomain)
    625641                  qscatrefVISgrid(j,1,iaer)=qscatrefVISgrid(j,1,iaer) /  &
    626642                                normd(j,1,iaer,idomain)
     
    736752                      )
    737753                  ENDDO
    738  
     754
    739755                  qrefIRgrid(j,1,iaer)=qrefIRgrid(j,1,iaer) /          &
    740756                                normd(j,1,iaer,idomain)
     
    789805            omegaIR3d(ig,lg,m,iaer) =                              &
    790806                        k1*omegIRgrid(grid_i,1,m,iaer) +           &
    791                         k2*omegIRgrid(grid_i+1,1,m,iaer) 
    792             gIR3d(ig,lg,m,iaer) =                                  & 
     807                        k2*omegIRgrid(grid_i+1,1,m,iaer)
     808            gIR3d(ig,lg,m,iaer) =                                  &
    793809                        k1*gIRgrid(grid_i,1,m,iaer) +              &
    794810                        k2*gIRgrid(grid_i+1,1,m,iaer)
  • trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90

    r3195 r3196  
    14741474         enddo
    14751475
    1476          ! Generalised for arbitrary aerosols now. By LK
     1476         if (aerohaze) then
     1477            ! Generalised for arbitrary aerosols now. By LK
    14771478         reffcol(1:ngrid,1:naerkind)=0.0
    14781479            ! call n2_reffrad(ngrid,nlayer,nq,zq,reffrad(1,1,iaero_haze))
     
    14961497            ENDDO
    14971498         ENDDO
     1499         endif ! end of aerohaze
    14981500      endif ! end of 'tracer'
    14991501
Note: See TracChangeset for help on using the changeset viewer.