Changeset 3088
- Timestamp:
- Oct 16, 2023, 10:31:19 AM (14 months ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/changelog.txt
r3082 r3088 101 101 - 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; 102 102 - 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. 103 104 == 16/10/2023 == JBC 105 - Addition of the bash script "concat_diagpem.sh" in deftank to concatenate all the "diagpem.nc" outputs into one file; 106 - Addition of "writediagpem_mod.F90" inspired by the subroutine "writediagfi.F" in phymars/; 107 - Renaming of PEM outputs ('startfi_PEM' -> 'startpem' and 'diagfi' -> 'diagpem'); 108 - Gathering of all "diagpem.nc" outputs at the same place at the end of the main PEM loop; 109 - Update of "launch_pem.sh", "README" and "modify_startfi_orbit.sh" in the deftank. -
trunk/LMDZ.COMMON/libf/evolution/pem.F90
r3082 r3088 8 8 ! I_f Compute tendencies & Save initial situation 9 9 ! I_g Save initial PCM situation 10 ! I_h Read the PEMstart10 ! I_h Read the startpem.nc 11 11 ! I_i Compute orbit criterion 12 12 … … 16 16 ! II_c CO2 & H2O glaciers flows 17 17 ! II_d Update surface and soil temperatures 18 ! II_e Update the tendencies 19 ! II_f Checking the stopping criterion 18 ! II_e Outputs 19 ! II_f Update the tendencies 20 ! II_g Checking the stopping criterion 20 21 21 22 ! III Output 22 23 ! III_a Update surface value for the PCM start files 23 24 ! III_b Write restart_evol.nc and restartfi_evol.nc 24 ! III_c Write restart fi_PEM.nc25 ! III_c Write restartpem.nc 25 26 !------------------------ 26 27 … … 69 70 use recomp_tend_co2_slope_mod, only: recomp_tend_co2_slope 70 71 use soil_pem_compute_mod, only: soil_pem_compute 72 use writediagpem_mod, only: writediagpem 71 73 72 74 #ifndef CPP_STD … … 598 600 !------------------------ 599 601 ! I Initialization 600 ! I_h Read the PEMstart601 !------------------------ 602 call pemetat0("start fi_PEM.nc",ngrid,nsoilmx,nsoilmx_PEM,nslope,timelen,timestep,TI_PEM,tsoil_PEM,porefillingice_depth, &602 ! I_h Read the startpem.nc 603 !------------------------ 604 call pemetat0("startpem.nc",ngrid,nsoilmx,nsoilmx_PEM,nslope,timelen,timestep,TI_PEM,tsoil_PEM,porefillingice_depth, & 603 605 porefillingice_thickness,tsurf_ave_yr1, tsurf_ave, q_co2_PEM_phys, q_h2o_PEM_phys,ps_timeseries, & 604 606 tsoil_phys_PEM_timeseries,tendencies_h2o_ice,tendencies_co2_ice,qsurf(:,igcm_co2,:), & … … 665 667 enddo 666 668 enddo 667 call writediagfi(ngrid,'ps_ave','Global average pressure','Pa',0,global_ave_press_new)668 669 669 670 if (adsorption_pem) then … … 741 742 call evol_co2_ice_s(qsurf(:,igcm_co2,:),tendencies_co2_ice,iim,jjm_value,ngrid,cell_area,nslope) 742 743 743 do islope = 1,nslope744 write(str2(1:2),'(i2.2)') islope745 call writediagfi(ngrid,'h2o_ice_s_slope'//str2,'H2O ice','kg.m-2',2,qsurf(:,igcm_h2o_ice,islope))746 call writediagfi(ngrid,'tendencies_h2o_ice_slope'//str2,'H2O ice tend','kg.m-2.year-1',2,tendencies_h2o_ice(:,islope))747 call writediagfi(ngrid,'c2ice_slope'//str2,'CO2 ice','kg.m-2',2,qsurf(:,igcm_co2,islope))748 call writediagfi(ngrid,'tendencies_co2_ice_slope'//str2,'CO2 ice tend','kg.m-2.year-1',2,tendencies_co2_ice(:,islope))749 enddo750 751 744 !------------------------ 752 745 ! II Run … … 754 747 !------------------------ 755 748 write(*,*) "CO2 glacier flows" 756 757 749 if (co2glaciersflow) call co2glaciers_evol(timelen,ngrid,nslope,iflat,subslope_dist,def_slope_mean,vmr_co2_pem_phys,ps_timeseries, & 758 750 global_ave_press_GCM,global_ave_press_new,qsurf(:,igcm_co2,:),flag_co2flow,flag_co2flow_mesh) 759 751 760 752 write(*,*) "H2O glacier flows" 761 762 753 if (h2oglaciersflow) call h2oglaciers_evol(timelen,ngrid,nslope,iflat,subslope_dist,def_slope_mean,tsurf_ave,qsurf(:,igcm_h2o_ice,:),flag_h2oflow,flag_h2oflow_mesh) 763 764 do islope = 1,nslope765 write(str2(1:2),'(i2.2)') islope766 call writediagfi(ngrid,'co2ice_slope'//str2,'CO2 ice','kg.m-2',2,qsurf(:,igcm_co2,islope))767 call writediagfi(ngrid,'tendencies_co2_ice_slope'//str2,'CO2 ice tend','kg.m-2.year-1',2,tendencies_co2_ice(:,islope))768 call writediagfi(ngrid,'Flow_co2ice_slope'//str2,'CO2 ice flow','Boolean',2,flag_co2flow(:,islope))769 enddo770 754 771 755 !------------------------ … … 845 829 enddo 846 830 847 do islope = 1,nslope848 write(str2(1:2),'(i2.2)') islope849 call writediagfi(ngrid,'tsurf_slope'//str2,'tsurf','K',2,tsurf(:,islope))850 enddo851 852 831 if (soil_pem) then 853 832 … … 919 898 !------------------------ 920 899 ! II Run 921 ! II_e Update the tendencies 900 ! II_e Outputs 901 !------------------------ 902 call writediagpem(ngrid,'ps_ave','Global average pressure','Pa',0,(/global_ave_press_new/)) 903 do islope = 1,nslope 904 write(str2(1:2),'(i2.2)') islope 905 call writediagpem(ngrid,'h2o_ice_s_slope'//str2,'H2O ice','kg.m-2',2,qsurf(:,igcm_h2o_ice,islope)) 906 call writediagpem(ngrid,'tendencies_h2o_ice_slope'//str2,'H2O ice tend','kg.m-2.year-1',2,tendencies_h2o_ice(:,islope)) 907 call writediagpem(ngrid,'tendencies_co2_ice_slope'//str2,'CO2 ice tend','kg.m-2.year-1',2,tendencies_co2_ice(:,islope)) 908 call writediagpem(ngrid,'co2ice_slope'//str2,'CO2 ice','kg.m-2',2,qsurf(:,igcm_co2,islope)) 909 call writediagpem(ngrid,'Flow_co2ice_slope'//str2,'CO2 ice flow','Boolean',2,flag_co2flow(:,islope)) 910 call writediagpem(ngrid,'tsurf_slope'//str2,'tsurf','K',2,tsurf(:,islope)) 911 enddo 912 913 !------------------------ 914 ! II Run 915 ! II_f Update the tendencies 922 916 !------------------------ 923 917 write(*,*) "Adaptation of the new co2 tendencies to the current pressure" … … 927 921 !------------------------ 928 922 ! II Run 929 ! II_ fChecking the stopping criterion923 ! II_g Checking the stopping criterion 930 924 !------------------------ 931 925 call criterion_waterice_stop(cell_area,ini_surf_h2o,qsurf(:,igcm_h2o_ice,:),STOPPING_water,ngrid,initial_h2o_ice) … … 1136 1130 !------------------------ 1137 1131 ! III Output 1138 ! III_c Write restart fi_PEM.nc1139 !------------------------ 1140 call pemdem0("restart fi_PEM.nc",longitude,latitude,cell_area,nsoilmx_PEM,ngrid, &1132 ! III_c Write restartpem.nc 1133 !------------------------ 1134 call pemdem0("restartpem.nc",longitude,latitude,cell_area,nsoilmx_PEM,ngrid, & 1141 1135 float(day_ini),0.,nslope,def_slope,subslope_dist) 1142 call pemdem1("restart fi_PEM.nc",i_myear,nsoilmx_PEM,ngrid,nslope,tsoil_PEM, &1136 call pemdem1("restartpem.nc",i_myear,nsoilmx_PEM,ngrid,nslope,tsoil_PEM, & 1143 1137 TI_PEM, porefillingice_depth,porefillingice_thickness, & 1144 1138 co2_adsorbded_phys,h2o_adsorbded_phys,water_reservoir) 1145 write(*,*) "restart fi_PEM.nc has been written"1139 write(*,*) "restartpem.nc has been written" 1146 1140 1147 1141 call info_run_PEM(year_iter,criterion_stop,i_myear,n_myear) -
trunk/LMDZ.MARS/deftank/pem/README
r3038 r3088 23 23 Bash script file to modify orbital parameters in the file "startfi.nc" (obliquity, eccentricity, Ls perihelion and possibly initial Ls). They should be consistent with Laskar data in "obl_ecc_lsp.asc" to start the chained simulation. 24 24 25 # concat_diagpem.sh: 26 Bash script file to concatenate along the variable 'Time' all the "diagfi.nc" files of the PEM into one NetCDF file. 'Time' is reindexed with the numbering of Martian years simulated by the PEM. 27 25 28 Note: 26 29 To run the chained simulation, be careful to have: -
trunk/LMDZ.MARS/deftank/pem/launch_pem.sh
r3076 r3088 179 179 # Copy data files and prepare the next run 180 180 mv out_runPEM${iPEM} out_PEM/run${iPEM} 181 mv diag fi.nc diags/diagfi_PEM${iPEM}.nc182 cp restart fi_PEM.nc starts/startfi_PEM${iPEM}.nc183 mv restart fi_PEM.nc startfi_PEM.nc181 mv diagpem.nc diags/diagpem_${iPEM}.nc 182 cp restartpem.nc starts/startpem_${iPEM}.nc 183 mv restartpem.nc startpem.nc 184 184 cp restartfi_evol.nc starts/startfi_postPEM${iPEM}.nc 185 185 mv restartfi_evol.nc startfi.nc -
trunk/LMDZ.MARS/deftank/pem/modify_startfi_orbit.sh
r3046 r3088 1 1 #!/bin/bash 2 ###################################################################### 3 ### Script to modify the orbital parameters of a file "startfi.nc" ### 4 ###################################################################### 2 5 3 # Bash script to modify the orbital parameters of a file "startfi.nc"6 #Name of the file to be modified 4 7 name_file="startfi.nc" 5 8 9 # New values for the orbital parameters 6 10 new_obl=25.18941689 7 11 new_ecc=0.09340902 … … 49 53 -s "controle(16)=$peri_day" \ 50 54 -s "controle(2)=$new_inisol" \ 51 $name_file $name_file.temp 52 53 # Rename the temporary file back to the original filename 54 mv $name_file.temp $name_file 55 $name_file $name_file 55 56 56 57 echo "In \"$name_file\":"
Note: See TracChangeset
for help on using the changeset viewer.