=============== Log messages of changesets concerning the Planetary Evolution Model (PEM) =============== =============== Since 01/07/2023 == 02/07/2023 == RV Small fix to adapt pem to the r2981 write_profile modification by evos. == 11/07/2023 == LL Update CO2 glacier flow law after discussions with I.Smith. The model used before from Nye et al. was false as it overestimates CO2 ice thickness required to start the flow. The algorithm now used an easier approach with outputs from Smith et al., JGR Planets 2022. See the full description in the note I'll send by mail. == 17/07/2023 == LL *Implementation of the H2O glacier flow laws *The algorithm for glacier flow is now more generic and not specific for co2 ice *Principle: if ice thickness > ice mass, computed from models (cf note attached in the wiki), then the excess of ice is transfered == 18/07/2023 == LL - Fix some bug in water conservations (transfer from watercap to waterreservoir was wrong) - Add the H2O glaciers in the main program. - Add the distinction between co2 frost (qsurf) and perenial co2 ice. Will be developed in the Mars PCM in a future commit - Thickness thresolhd to pass from frost to glaciers is now not harcoded but a constant fixed in the mars_pem_constants == 20/07/2023 == LL - Fix a bug in conf_pem ("Flux_geo" was expected in the .def while it should be 'fluxgeo', corrected) - Fix a bug in glaciers modules (the length for 'name_ice' was too large) - Fix a bug when writing tsoil in the PEM (ngrid x nsoil_PEM x nslope was given, while it was expecting a ngrid x nsoil_GCM x nslope) == 28/07/2023 == LL - Following -r 2963, adapt the PEM so that the density of water wapor is correctly computed - I've also modified the way Tsoil is initialized, but it might be changed in the future == 31/07/2023 == LL Following last commit, r (=R/mugaz) wasn't initialize apparently. It is not fixed. Note that R is hard coded == 01/08/2023 == JBC Rework and correction of computation of the maximum number of iterations for PEM according to orbital parameters. Complete rewriting (much simpler) of script "run_pem1d_1" in deftank/pem/ to launch chained simulations of 1D PCM/PEM. To be adapted to 3D in the future. Addition of a bash script "modify_startfi.sh" to modify orbital parameters in "startfi.nc". It is needed to initialize the PCM/PEM simulation with right orbital parameters according to the year in Laskar data. == 09/08/2023 == JBC Improvements/addition of scripts in deftank/pem to run the PEM 1D model according to Laskar orbital parameters. == 14/08/2023 == JBC Big cleaning of main program pem.F90 (indentation, declarations, comments, simplification of conditions/loops, etc). == 24/08/2023 == LL - Following -r3028, added the declaration of daysec and dtphys that has been removed during the cleaning - Add the corrective factor /cos(slope) when compute H2O ice tendencies to ensure mass conservation == 24/08/2023 == LL Add the water vapor exchanges between the subsurface ice and the atmosphere in the mass balance of H20 over the planet. == 24/08/2023 == LL Fix bug with albedo (wrong albedo for surface where co2 ice is) and add the porosity in the computation commited previously (missing) == 8/09/2023 == JBC * New version of scripts (launch_pem.sh and exeGCM.sh) to launch the chained simulation of GCM and PEM runs. It should be simpler and clearer for users; * Update of README accordingly; * ob_ex_lsp.asc is now in Earth years like original Laskar's data + rename obl_ecc_lsp.asc; * Some improvements for the script modify_startfi_orbit.sh; * Some changes in run_PEM.def and xml files. == 11/09/2023 == JBC * New management of time in PEM. While definitions in "run.def"/"launching script" and Laskar's data are in Earth years, the PEM works in Martian years. It follows several changes and the new variable 'convert_years' to make the conversion; * New parameter for the years to be simulated. The user does not ask anymore for a number of PEM iterations to do but for a number of Earth years to simulate. The GCM years are now counted! To do so, a temporary file "tmp_PEMyears.txt" gives few basic information between the runs; * New values for the maximal admissible change of orbital parameters. They are now coherent and allows the PEM to run for ~1000 Martian years; * Laskar's data interpolation has been cleaned further; * Some cleaning and renaming of PEM subroutines in the course of the previous modifications. == 13/09/2023 == JBC The date and time are redefined at the end of PEM to write the file "restarfi_evol.nc". Like so, the next GCM runs can restart at the date and time given at the beginning of the simulation since the PEM is only progressing by step of one Martian year. == 21/09/2023 == JBC Improvements of scripts to launch the chained simulations of GCM and PEM runs. Correction of a case where maximum admissible change of orbital parameters could not be found, in particular for Lsp because of modulo + some improvements. == 26/09/2023 == JBC Minor changes concerning the form of the code in the PEM. == 28/09/2023 == JBC Addition of a file "changelog.txt" in LMDZ.COMMON/libf/evolution/ specific to the PEM rather than using the one for Mars. Completed with changesets since 01/07/2023. == 02/10/2023 == JBC Initialization of the PEM in 1D through the subroutine "init_testphys1d_mod.F90" + Some adaptations of the Mars PCM in 1D + Update of "launch_pem.sh" in deftank. == 03/10/2023 == JBC Following the commits r3066 and r3067, the PEM initialization in 1D has been adapted. == 05/10/2023 == JBC Correction of a bug: the variable 'g' was not correctly initialized in 1D. A little of code cleaning. == 06/10/2023 == JBC Big cleaning/improvements of the PEM: - Conversion of "abort_pem.F" and "soil_settings_PEM.F" into Fortran 90; - Transformation of every PEM subroutines into module; - Rewriting of many subroutines with modern Fortran syntax; - Correction of a bug in "pem.F90" when calling 'recomp_tend_co2_slope'. The arguments were given in disorder and emissivity was missing; - Update of "launch_pem.sh" in deftank. == 11/10/2023 == JBC - Correction of a bug in the initialization of constants. The correct modules are now used: 'comcstfi_h' (and no longer 'comconst_mod'!) in the general case and 'comcstfi_mod' in the case of generic model; - Addition of the variable 'ecritpem' in "run_PEM.def" to set the frequency of outputs in the "diagfi.nc". By default, 'ecritpem = 1' which means there is one output at each PEM year. == 16/10/2023 == JBC - Addition of the bash script "concat_diagpem.sh" in deftank to concatenate all the "diagpem.nc" outputs into one file; - Addition of "writediagpem_mod.F90" inspired by the subroutine "writediagfi.F" in phymars/; - Renaming of PEM outputs ('startfi_PEM' -> 'startpem' and 'diagfi' -> 'diagpem'); - Gathering of all "diagpem.nc" outputs at the same place at the end of the main PEM loop; - Update of "launch_pem.sh", "README" and "modify_startfi_orbit.sh" in the deftank. == 18/10/2023 == JBC The optional file to define the wanted outputs in "diagpem.nc" is now "diagpem.def" (instead of "diagfi.def") + Some updates in the files of deftank. == 23/10/2023 == JBC The management of files during the chained simulation of PCM/PEM runs has been simplified: - "tmp_PEMyears.txt" and "info_run_PEM.txt" have been merged into one file called "info_PEM.txt"; - "reshape_XIOS_output.F90" now creates directly the "data_PCM_Y*.nc" files needed by the PEM; - where it is relevant, 'GCM' has been replaced by 'PCM' in the files naming; - the files in deftank have been updated consequently. Following r3095, 'iniorbit' is now a subroutine of "planete_h.F90". Correction of a bug from r3088: "diagfi.nc" was not changed into "diagpem.nc" in the commited version of "writediagpem.F90"! == 26/10/2023 == JBC - Correction of a bug when running with ifort, XIOS and no sub-slopes. If compiled with ifort, the 'Reshape' program cashed because of sub-slopes variables were written in the XIOS output but not filled. A new file definition without sub-slopes can be chosen in the xml file to avoid this issue. - Addition in the 'Reshape' program of a check to remove the output files if they exist to prevent a crash. == 27/10/2023 == JBC Addition of the possibility to ask for a number of Mars years to be simulated in total (previously it was only in Earth years). == 03/11/2023 == JBC Following r3113, addition of 'nqsoil' and 'qsoil' in the arguments of the subroutines 'phyetat0' and 'physdem1' to be able to compile. == 10/11/2023 == JBC Correction of the reading of the PCM data (it did not work if no slope was used) + some minor related cleanings. == 11/11/2023 == LL Adapting the PEM soil grid to the one of the PCM Minor corrections when reading/initializing soil temperature, subsurface water ice == 20/11/2023 == JBC The perennial co2 ice is now taken into account with co2 frost (qsurf) to compute the tendency and to make the update + Rework of how co2 frost is converted to perennial co2 ice at the end of the PEM run + Correction of the value of 'threshold_co2_frost2perennial' to correspond to 10 m + Perennial co2 ice is now handled outside 'paleoclimate' in "phyetat0_mod.F90" of the Mars PCM + Some cleanings. /!\ Commit for the PEM management of co2 ice before a rework of ice management in the PEM! == 22/11/2023 == JBC Update of files in the deftank: addition of variables in the xml definition files, inclusion of "callphys.def" into "run_PEM.def" and minor typo in "launch_pem.sh". == 29/11/2023 == JBC 'Watercap' has been removed from the water ice evolution since 'water_reservoir' does already the job + Some cleanings to simplify the code. /!\ Commit for the PEM management of h2o ice before a rework of ice management in the PEM! == 01/12/2023 == JBC - Addition of a script in LMDZ.MARS/deftank/pem/ to launch a chained simulation of 1D PCM runs which follow, year by year, the orbital parameters (obliquity, eccentricity, Ls perihelion) given in a specified file. - Small changes to other files of the deftank directory (check and cosmetic). == 06/12/2023 == JBC - Simplification of the algorithm managing the stopping criteria; - Complete rework of the ice management in the PEM (H2O & CO2); > Subroutines to evolve the H2O and CO2 ice are now in the same module "evol_ice_mod.F90". > Tendencies are computed from the variation of "ice + frost" between the 2 PCM runs. > Evolving ice in the PEM is now called 'h2o_ice' or 'co2_ice' (not anymore in 'qsurf' and free of 'water_reservoir'). > Default value 'ini_h2o_bigreservoir' (= 10 m) initializes the H2O ice of the first PEM run where there is 'watercap'. For the next PEM runs, initialization is done with the value kept in "startpem.nc". CO2 ice is taken from 'perennial_co2ice' of the PCM (paleoclimate flag must be true). > Simplification of the condition to compute the surface ice cover needed for the stopping criteria. > Frost ('qsurf') is not evolved by the PEM and given back to the PCM. > New default threshold value 'inf_h2oice_threshold' (= 2 m) to decide at the end of the PEM run if the H2O ice should be 'watercap' or not for the next PCM runs. If H2O ice cannot be 'watercap', then the remaining H2O ice is transferred to the frost ('qsurf'). - Renaming of variables/subroutines for clarity; - Some cleanings throughout the code; - Small updates in files of the deftank. == 08/12/2023 == JBC - The PEM deftank folder is now in LMDZ.COMMON/libf/evolution/ (not anymore in the Mars PCM deftank). - Small corrections related to r3149. == 14/12/2023 == JBC - A number of corrections related to r3149 for CO2 ice management: > 'co2_ice' was not transferred to 'perennial_co2ice' at the end of the PEM run; > In the Mars PCM, 'perennial_co2ice' is now correctly handled regarding the frost in case of CO2 sublimation/condensation. - Addition of (CO2 and H2O) ice metamorphism: if the frost is above a given value, then the excess frost is transferred to the perennial ice. - Thresholds value for ice management can now be set in the "run_PEM.def". == 19/12/2023 == JBC PEM: - Addition of flags defined in the "run_PEM.def" to decide to do or not CO2 & H2O ice metamorphism: 'metam_co2ice' and 'metam_h2oice' (default is false). - The variations of infinite reservoirs ('watercap') during the PCM years are now taken into account to update H2O ice at the PEM initialization. - 'ini_h2o_bigreservoir' is renamed into 'ini_huge_h2oice'. - Some cleanings, in particular for the main program "pem.F90". == 04/01/2024 == LL Fixing a small bug: the subroutine compute_icetable was always called, even if tthe option 'icetable_equilibrium' was set to false in the run_PEM.def. It is now fixed by adding a flag before the call.