Changeset 3196
- Timestamp:
- Jan 31, 2024, 5:30:43 PM (11 months ago)
- Location:
- trunk/LMDZ.PLUTO
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/changelog.txt
r3195 r3196 39 39 - adapted phyetat0.F for subterranean temperature & inertia 40 40 - adapted physdem1.F to include new soil stuff 41 - physiq.F : added calls to writediagsoil 41 - physiq.F : added calls to writediagsoil 42 42 - soil.F : new routine (fixed vertical grid + variable thermal inertia) 43 43 - added soil_settings.F (to read/initialize/interpolate soil properties) … … 82 82 - modified vdifc.F and callsedim.F back 83 83 - modified initracer.F (so that water names are h2o_vap & h2o_ice) 84 84 85 85 == 29/09/08 == 86 86 - modified aeronomars/init_chimie_B (cosmetics) … … 88 88 "pause" error messages to 'stop' messages 89 89 - 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 91 91 output at first call) 92 92 93 93 == 30/09/08 == 94 94 - modified aeronomars/calchim.F to use tracers by name … … 171 171 enforce (if set to .true.) that co2 mass mixing ratio remains bounded. 172 172 == 07/11/08 == 173 - corrected 'writediagfi' & 'writediagsoil' so that an error message is 173 - corrected 'writediagfi' & 'writediagsoil' so that an error message is 174 174 issued if called with a variable name which is too long. 175 175 == 18/12/08 == … … 230 230 (removed dustopacity.F) 231 231 - 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 233 233 of reffrad and nueffrad (aerosol effective radius and variance) 234 234 - removed all the lines relative to the old "activice" option, including … … 252 252 253 253 == 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 255 255 with libraries (and not in current directory) 256 256 257 257 == 258 258 == WORK FOR GENERIC MODEL STARTS HERE 259 == 260 259 == 260 261 261 == 01/08/09 == 262 262 >>> Old Martian radiative transfer removed completely, new correlated-k … … 279 279 >>> Many new options added to callphys.def. 280 280 281 282 283 284 281 282 283 284 285 285 == 25/11/2009 == 286 286 >>>> List of changes and modifications … … 302 302 -- adapted 'create_make_gcm' and 'makegcm' scripts so that we don't need 303 303 to have and (unused) 'aeronomars' directory around. 304 304 305 305 -- shifted to reading traceur.def (dyn3d/iniadvtrac.F) in an Earth-LMDZ4-like 306 306 fashion: … … 313 313 such as rotation rate, molar mass of atmosphere, ... 314 314 (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) 316 316 317 317 -- Changed condens_co2cloud.F : added a check for presence of CO2 gas and output … … 351 351 >>> cosmetic change in callphys.def : separate "universal" parameters 352 352 and planet-specific parameters (in a separate file, e.g. earlymars.def) 353 353 354 354 == 22/01/2010 == 355 355 ==> call this version LMDZ.GENERIC … … 388 388 Two new functions were added: one to produce .nc files of the OLR 389 389 by band, and the other to save the upgoing radiation by band in 1D 390 as a .txt file. 390 as a .txt file. 391 391 -- general structure -- 392 392 tabfi.F, newstart.F etc. cleaned up + it was checked that they pass … … 452 452 Pressure is now distributed better in newstart.F. There was a bug before when the global mean of phi 453 453 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. 455 455 456 456 -- general -- … … 460 460 I cleaned up the method of displaying energy balance and temperature range in the model a bit. 461 461 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 463 463 of Grushka et al. is used for the radiative transfer. 464 464 … … 472 472 for use in aeropacity. Surface wetness (beta) is now calculated in a simple way, and 473 473 outputed as a diagnostic, along with the atmospheric relative humidity. 474 474 475 475 mol/mol to kg/kg bug in callcorrk corrected. 476 476 477 477 -- 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 479 479 the ground. 480 480 In aeropacity, we now set the cloud opacity in the top layer of the atmosphere to zero. This solves … … 501 501 502 502 -- 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. 504 504 505 505 -- aerosols -- … … 507 507 508 508 -- 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 510 510 with new tendencies before it was supposed to happen! 511 511 Bug in oborealis where phi not properly updated was corrected. … … 517 517 518 518 -- 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 520 520 and immediately restarts in the next one. 521 521 522 522 -- 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 524 524 diagnostics. 525 525 … … 541 541 to use "SOURCE" to identify code and be compatible with latest 542 542 'create_make_gcm'. 543 543 544 544 == 10/11/2011 == EM 545 545 - Upgrade: The location of the 'datagcm' directory can now be given in the … … 557 557 - Allocation is done in sugas_corrk which is within firstcall loop in callcorrk. 558 558 - 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. 560 560 561 561 Modified files: … … 597 597 598 598 == 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. 600 600 Default is NTfac = 1.0D-1, i.e. Delta T = 0.1 K 601 601 … … 639 639 - Cleaned continuum part in optc* 640 640 - 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 642 642 643 643 == 27/03/2012 == JL … … 651 651 - As much as possible, only the value of the stephan boltzmann constant defined in racommon_h (and the 652 652 corresponding variable, sigma) should be used. Now done in physics, vdifc and turbdiff. 653 653 654 654 == 16/04/2012 == JL 655 655 - Added consistency checks for calculations including water and global1d+diurnal. … … 657 657 658 658 == 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; 660 660 Even when starting from start and startfi files. 661 661 - rcp, cpp and mugaz can now be computed using gases.def in newstart … … 688 688 - Some cleanup in start2archive.F and ini_archive.F to get them to work for 689 689 the generic model (removed some "Martian" specificities). 690 690 691 691 == 17/07/2012 == JL for LK 692 692 - Generalization of aerosol scheme: … … 694 694 not important anymore. 695 695 - 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 697 697 - compile with -s x where x *must* be equal to the number of aerosols turned on in callphys.def (either by a 698 698 flag or by dusttau>0 for dust). … … 702 702 - If starting from an old start file, recreate start file with the q=0 option in newstart.e. 703 703 - 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. 704 now). Dust is activated by setting dusttau>0. See the early mars case in deftank. 705 705 - To add other aerosols, see Laura Kerber. 706 706 707 707 == 18/07/2012 == JL 708 708 - 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 710 710 condensed water amount iteratively 711 711 - same improvements in moistadj. … … 715 715 - Saturation curves are now generalized for arbitrary water amount (not just q<<1) 716 716 - 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 718 718 mass_redistrib=.true. in callphys.def (routine mass_redistribution inspired from co2_condense in martian 719 719 model but with a different scheme as many routines evaporate/condense water vapor). … … 723 723 - Totalcloudfraction now set the total cloud fraction to the fraction of the 724 724 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 726 726 optical depth with exponential formula). 727 727 - 4 precipitation schemes are now available (see rain.F90 for details). The choice can be made using precip_scheme … … 730 730 - See rain.f90 to determine the parameter to be defined in callphys.def as a function of the precipitation scheme used. 731 731 - 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 733 733 and work with the new aerosol scheme implemented by Laura K. Some inconsistency may remain in callsedim. 734 734 - 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 737 737 Implementation compiled with ifort and pgf90. 738 gcm.e runs in Earth and Early Mars case with CO2 and H2O cycle + dust. 738 gcm.e runs in Earth and Early Mars case with CO2 and H2O cycle + dust. 739 739 740 740 == 19/07/2012 == JL … … 755 755 -Can now handle any prograde resonance with nres=omega_rot/omega_orb. 756 756 -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 758 758 wave number, independently of the usual IR/VISIBLE calculation separation. 759 759 i.e. kappa_IR can be used in the calculation of the downward stellar flux … … 787 787 --> debug mode : perfect match. bit by bit (diff command). checked with plots 788 788 --> 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.... 790 790 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 791 791 (pictures available on request) … … 802 802 tracer.h >> tracer_h.F90 803 803 comsaison.h >> comsaison_h.F90 804 comgeomfi.h >> comgeomfi_h.F90 804 comgeomfi.h >> comgeomfi_h.F90 805 805 comsoil.h >> comsoil_h.F90 806 806 comdiurn.h >> comdiurn_h.F90 … … 811 811 - Suppressing any mention to advtrac.h which is a common in the dynamics and needs nqmx 812 812 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, 814 814 ... but this allows for generic physics to work easily with either LMDZ.GENERIC or LMDZ dynamical cores 815 815 - Removing consistency tests between nq and nqmx ; and ngrid and ngridmx. No use now! … … 819 819 - Now written so that a slice of horizontal size 'ngrid' starting at grid point 'cursor' is read in startfi.nc 820 820 '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. 822 822 default behavior is the usual one : sequential runs, cursor is 1, size ngrid is the whole global domain 823 823 824 A note on an additional change : 824 A note on an additional change : 825 825 - nueffrad is now an argument to callcorrk as is the case for reffrad 826 826 both are saved in physiq 827 827 this is for consistency and lisibility (previously nueffrad was saved in callcorrk) 828 828 ... 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) 830 830 ... to be conservative I kept this behaviour and highlighted it with an array nueffrad_dummy 831 831 ... I added a comment because someone might want to change this 832 832 833 833 == 20/09/2012 == AS 834 A more robust way to count lines in setspi and setspv. 834 A more robust way to count lines in setspi and setspv. 835 835 bandlen.txt file is no longer used. This was causing problems with MPI computations. 836 836 … … 844 844 845 845 == 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 847 847 provided to newsedim and also that the updated temperature and tracer 848 848 mixing ratios are used to compute sedimentation. … … 854 854 855 855 == 10/01/2013 == AS 856 - Fixed an allocating bug which arises from previous modifications 856 - Fixed an allocating bug which arises from previous modifications 857 857 owing to the double use of callcorrk with CLF_varying 858 858 - Fixed a small bug in a diagnostic in the end of calc_rayleigh. Some picky compilers complain. … … 870 870 871 871 == 24/01/2013 == AS + JL 872 A more robust way to refer to gas type. 872 A more robust way to refer to gas type. 873 873 - Gas names with an arbitrary number of characters (<20) can be used 874 874 This is good for C2H2, C2H6, H2SO4, C17H21NO4, etc... 875 875 !!! 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 877 877 Then using igas_... everywhere instead of gnom (except for kcm stuff) 878 878 - Users can still use e.g. H2_ but H2 also works … … 894 894 - Corrected a bug: Continuum in inifis instead of continuum 895 895 ... 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) 897 897 ... so that comparisons with optci are easy e.g. through vimdiff 898 898 899 899 == 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 901 901 - Added a keyword to enable ocean runoff in callphys.def (activerunoff) 902 902 … … 907 907 - because N2 and H2O continua databases are smaller, improvement around 15% for 908 908 an earth case. 909 909 910 910 == 25/02/2013 == EM 911 911 - added "-fp-model precise" option when compiling with ifort (fixes unexplained 912 912 mass loss of tracer in the dynamics) 913 913 914 914 == 13/03/2013 == AS + EM 915 915 - corrected a bug in bilinearbig (found with debug mode) … … 924 924 - optimization of optci and optcv routines. 15to 25% gain on these routines. 925 925 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. 928 928 - added profiling option in makegcm_ifort. See the file for details 929 929 - changed capcal back to default in physics 930 930 931 931 == 01/05/2013 == AS + JL 932 - added possibility to remove surface 932 - added possibility to remove surface 933 933 (particularly exchanges heat+momentum exchanges between surface and atmosphere) 934 934 - added possibility to add an internal heat flux … … 956 956 file name) 957 957 - 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 959 959 readcoord.F scatter.F gather.F ini36.F from36.F to36.F 960 960 lnblnk.F (F90 len_trim() should be used instead) … … 1033 1033 1034 1034 == 10/07/2014 == EM 1035 Some cleanup to simplify dynamics/physics interactions by getting rid 1035 Some cleanup to simplify dynamics/physics interactions by getting rid 1036 1036 of dimphys.h (i.e. the nlayermx parameter) and minimizing use of 1037 1037 dimension.h in the physics. … … 1066 1066 interactions, e.g. routines gr_dyn_fi or gr_fi_dyn and calfis 1067 1067 - 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. 1069 1069 iniphysiq) or main programs (e.g. newstart). 1070 1070 * phystd/dyn1d: this subdirectory contains the 1D models. … … 1076 1076 1077 1077 == 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 1079 1079 subdirectory 'aerosol_properties' of datadir, and surface.nc files should 1080 1080 be in subdirectory 'surface_data'. These subdirectory names are stored in … … 1155 1155 == 05/04/2016 == EM 1156 1156 - 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 1158 1158 from module mod_grid_phy_lmdz (in phy_common) instead. 1159 1159 - Removed module "comhdiff_mod.F90", as it is only used by module 1160 1160 surf_heat_transp_mod.F90, moved module variables there. 1161 1161 - 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. 1163 1163 on the global dynamics grid. 1164 1164 As before, the slab ocean only works in serial. … … 1178 1178 1179 1179 == 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 1181 1181 number of subsurface layers nsoilmx, along with first layer thickness "lay1_soil" and 1182 1182 companion coefficient "alpha_soil", in callphys.def at run time. … … 1191 1191 1192 1192 == 18/04/2016 == EM 1193 - fix for 1D in writediagfi to enable writing at 1193 - fix for 1D in writediagfi to enable writing at 1194 1194 "ecritphy" rate. 1195 1195 - move iniprint.h to "misc" 1196 1196 - Some code cleanup in anticipation of future updates: 1197 1197 - changed variable names in comgeomphy.F90: give them more 1198 explicit names: rlond => longitude , 1198 explicit names: rlond => longitude , 1199 1199 rlatd => latitude, airephy => cell_area, 1200 1200 cuphy => dx , cvphy => dy … … 1234 1234 == 12/07/2016 == EM 1235 1235 - move initialization of dimphy from inigeomphy to iniphysiq (initializations 1236 related to routines in phy_common or dynphy_lonlat can be done in 1236 related to routines in phy_common or dynphy_lonlat can be done in 1237 1237 inigeomphy, but any initialization for modules/routines in a physics 1238 1238 package (directory phystd) must be done in the related phystd/iniphysiq … … 1260 1260 == 15/09/2016 == TB 1261 1261 - 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 1263 1263 the caller). 1264 1264 … … 1283 1283 1284 1284 == 21/02/2017 == EM 1285 Added possibility to run without a startfi.nc file (mainly usefull for 1285 Added possibility to run without a startfi.nc file (mainly usefull for 1286 1286 tests with coupling with dynamico dynamical core): 1287 1287 - added flag "startphy_file" flag (.false. if doing an "academic" start … … 1304 1304 - xios_output_mod.F90 : update initialize_xios_output initialization 1305 1305 of the horizontal domain 1306 In dynphy_lonlat : 1306 In dynphy_lonlat : 1307 1307 - inigeomphy_mod.F90 : add ind_cell_glo computation and transfer 1308 1308 to init_geometry … … 1376 1376 Start a series of commits to change the upper boundary conditions in the radiative transfer to solve some issues with the last two layers. 1377 1377 It 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. 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. 1380 1380 1381 1381 == 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. 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. 1383 1383 This 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). 1384 1384 Additional speedup corrections have been made in gfluxi that change nothing to the result. … … 1479 1479 1480 1480 == 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 1482 1482 outputs dtaui/v(altitude) in diagfi.nc for every narrowband (could be done with one var 1483 1483 but would require to be able to have writediag in 5D) … … 1508 1508 - the thermal plume model is able to manage several plumes in the same column and work without the convective adjustment. 1509 1509 1510 == 24/02/2020 (r2243) == JVO 1510 == 24/02/2020 (r2243) == JVO 1511 1511 - 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) 1512 1512 Everybody should be using AU, that's all. … … 1537 1537 It can be called using 'aeronlay=.true.' in callphys.def, and set the number of layers (up to 4) with 'nlayaero'. 1538 1538 Then, the following parameters are read as arrays of size nlayaero in callphys.def (separated by blank space) 1539 1539 1540 1540 *aeronlay_tauref (Optical depth of aerosol layer at ref wavelenght) 1541 1541 *aeronlay_lamref (Ref wavelenght (m)) … … 1561 1561 + Following the last point some comment is added in suaer_corrk about the 'not-really-dummy'ness of IR lamref.. 1562 1562 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 1564 Add non-orographic gravity waves drag parameterization (Flott scheme adpated from the Earth GCM) 1565 1565 It can be called using 'calllott_nonoro=.true.' in callphys.def, and set the maximum value of the Eliassen-Plam flux 'epflux_max'. 1566 1566 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) … … 1570 1570 When using the "season=.false." option then the orbital parameters are frozen and set by day_ini which is stored in startfi.nc. 1571 1571 But 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 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 1574 1574 BE CARREFUL, there is a mistake in the previous commit message: it is actually SEASON=.FALSE. 1575 1575 1576 1576 == 05/05/2020 (r2308) == JVO 1577 Fix a nasty copy-paste bug from r2297 in n-layer aerosol scheme 1577 Fix a nasty copy-paste bug from r2297 in n-layer aerosol scheme 1578 1578 1579 1579 == 05/06/2020 == EM … … 1589 1589 1590 1590 == 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) 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) 1592 1592 1593 1593 == 21/10/2020 == YJ … … 1630 1630 1631 1631 == 16/03/2021 == AB 1632 Commit the last changes in the thermal plume model which was waiting for one year. 1632 Commit the last changes in the thermal plume model which was waiting for one year. 1633 1633 1634 1634 == 18/03/2021 == YJ … … 1655 1655 - Update of the water continuum (H2O-H2O and H2O-AIR): MT_CKD v3.3 1656 1656 - 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) 1658 1658 can be downloaded from https://www.lmd.jussieu.fr/~lmdz/planets/LMDZ.GENERIC/datagcm/continuum_data/ 1659 1659 - 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 1661 1661 1662 1662 ==16/06/2021 == MT … … 1713 1713 1714 1714 == 22/02/2022 == GM 1715 Minor bug fix for aerave_new.F when input wavelenght in data file are in 1715 Minor bug fix for aerave_new.F when input wavelenght in data file are in 1716 1716 descending order. 1717 1717 … … 1832 1832 Add output for atmospheric escape fluxes at the top of the model, 1833 1833 available for any tracers, this is calculated in deposition routine. 1834 Corection: add hydrology flag to calculate surface albedo used for the 1834 Corection: add hydrology flag to calculate surface albedo used for the 1835 1835 radiative transfer in photolysis online calculation. 1836 1836 This was needed to be consistent with the way to calculate the surface albedo. 1837 1837 1838 1838 == 25/01/2024 == AF 1839 Added LMDZ.PLUTO, a copy of the generic model cleaned of some 1839 Added LMDZ.PLUTO, a copy of the generic model cleaned of some 1840 1840 unnecessary modules 1841 1842 == 31/01/2024 == AF 1843 Included N2 condensation from PLUTO.old & read haze aerosols. -
trunk/LMDZ.PLUTO/libf/phypluto/aeroptproperties.F90
r3184 r3196 38 38 ! ============================================================== 39 39 40 ! Local variables 40 ! Local variables 41 41 ! --------------- 42 42 … … 198 198 ! REAL :: omegaREFvis3d(ngrid,nlayer,naerkind) 199 199 ! REAL :: omegaREFir3d(ngrid,nlayer,naerkind) 200 201 REAL :: minrad ! minimal radius in table .dat radiustab (outside 0) 202 REAL :: maxrad 200 203 201 204 ! 0. Allocate local saved arrays at firstcall … … 246 249 ALLOCATE(qsqrefIRb(L_NSPECTI,ngau,naerkind)) 247 250 ALLOCATE(qrefIRb(ngau,naerkind)) 248 251 249 252 ALLOCATE(omegIRa(L_NSPECTI,ngau,naerkind)) 250 253 ALLOCATE(omegrefIRa(ngau,naerkind)) … … 253 256 ALLOCATE(gIRa(L_NSPECTI,ngau,naerkind)) 254 257 ALLOCATE(gIRb(L_NSPECTI,ngau,naerkind)) 255 258 256 259 first_allocate=.false. 257 260 ENDIF ! of IF (first_allocate) … … 317 320 enddo 318 321 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 319 335 320 336 firstcall = .false. … … 412 428 qsqrefVISb(m,gausind,iaer)= & 413 429 (1-kint)*QVISsQREF(m,iaer,radius_id) + & 414 kint*QVISsQREF(m,iaer,radius_id+1) 430 kint*QVISsQREF(m,iaer,radius_id+1) 415 431 omegVISb(m,gausind,iaer)= & 416 432 (1-kint)*omegaVIS(m,iaer,radius_id) + & … … 500 516 EXP(-dista(j,1,iaer,idomain,gausind) * & 501 517 dista(j,1,iaer,idomain,gausind) * & 502 0.5e0/sizedistk2)/(radiusm-drad) 518 0.5e0/sizedistk2)/(radiusm-drad) 503 519 dista(j,1,iaer,idomain,gausind) = & 504 520 dista(j,1,iaer,idomain,gausind) / & … … 540 556 ! Convolution: 541 557 qextVISgrid(j,1,m,iaer) = & 542 qextVISgrid(j,1,m,iaer) + & 558 qextVISgrid(j,1,m,iaer) + & 543 559 weightgaus(gausind) * & 544 560 ( & … … 609 625 ( & 610 626 omegrefVISb(gausind,iaer) * & 611 qrefVISb(gausind,iaer) * & 627 qrefVISb(gausind,iaer) * & 612 628 pi*radGAUSb(gausind,iaer,idomain) * & 613 629 radGAUSb(gausind,iaer,idomain) * & … … 622 638 623 639 qrefVISgrid(j,1,iaer)=qrefVISgrid(j,1,iaer) / & 624 normd(j,1,iaer,idomain) 640 normd(j,1,iaer,idomain) 625 641 qscatrefVISgrid(j,1,iaer)=qscatrefVISgrid(j,1,iaer) / & 626 642 normd(j,1,iaer,idomain) … … 736 752 ) 737 753 ENDDO 738 754 739 755 qrefIRgrid(j,1,iaer)=qrefIRgrid(j,1,iaer) / & 740 756 normd(j,1,iaer,idomain) … … 789 805 omegaIR3d(ig,lg,m,iaer) = & 790 806 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) = & 793 809 k1*gIRgrid(grid_i,1,m,iaer) + & 794 810 k2*gIRgrid(grid_i+1,1,m,iaer) -
trunk/LMDZ.PLUTO/libf/phypluto/physiq_mod.F90
r3195 r3196 1474 1474 enddo 1475 1475 1476 ! Generalised for arbitrary aerosols now. By LK 1476 if (aerohaze) then 1477 ! Generalised for arbitrary aerosols now. By LK 1477 1478 reffcol(1:ngrid,1:naerkind)=0.0 1478 1479 ! call n2_reffrad(ngrid,nlayer,nq,zq,reffrad(1,1,iaero_haze)) … … 1496 1497 ENDDO 1497 1498 ENDDO 1499 endif ! end of aerohaze 1498 1500 endif ! end of 'tracer' 1499 1501
Note: See TracChangeset
for help on using the changeset viewer.