Changeset 2855 for trunk/LMDZ.COMMON/libf/evolution/read_data_GCM.F90
- Timestamp:
- Dec 22, 2022, 5:43:14 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.COMMON/libf/evolution/read_data_GCM.F90
r2849 r2855 2 2 ! $Id $ 3 3 ! 4 SUBROUTINE read_data_GCM(fichnom, min_h2o_ice_s,min_co2_ice_s,iim_input,jjm_input,nlayer,vmr_co2_gcm,ps_GCM,timelen, &4 SUBROUTINE read_data_GCM(fichnom,timelen, iim_input,jjm_input,min_h2o_ice_s,min_co2_ice_s,vmr_co2_gcm,ps_GCM, & 5 5 min_co2_ice_slope,min_h2o_ice_slope,nslope,tsurf_ave,tsoil_ave,tsurf_gcm,tsoil_gcm,TI_ave,q_co2_GCM,q_h2o_GCM,co2_ice_slope, & 6 6 watersurf_density,watersoil_density) … … 10 10 nf90_inquire_dimension,nf90_close 11 11 use comsoil_h, only: nsoilmx 12 USE soil_evolution_mod, ONLY: soil_pem12 USE comsoil_h_PEM, ONLY: soil_pem 13 13 14 14 IMPLICIT NONE … … 16 16 !======================================================================= 17 17 ! 18 ! Read initial confitions file18 ! Purpose: Read initial confitions file from the GCM 19 19 ! 20 ! Authors: RV & LL 20 21 !======================================================================= 21 22 … … 24 25 !=============================================================================== 25 26 ! Arguments: 27 26 28 CHARACTER(LEN=*), INTENT(IN) :: fichnom !--- FILE NAME 27 29 INTEGER, INTENT(IN) :: timelen ! number of times stored in the file 28 29 INTEGER :: iim_input,jjm_input,nlayer,nslope 30 REAL, ALLOCATABLE :: h2o_ice_s(:,:,:) ! h2o_ice_s of the concatenated file 31 REAL, ALLOCATABLE :: co2_ice_s(:,:,:) ! co2_ice_s of the concatenated file 32 33 REAL, ALLOCATABLE :: h2o_ice_s_slope(:,:,:,:) ! co2_ice_s of the concatenated file 34 35 REAL, INTENT(OUT) :: min_h2o_ice_s(iim_input+1,jjm_input+1) ! Minimum of h2o_ice_s of the year 36 REAL, INTENT(OUT) :: min_co2_ice_s(iim_input+1,jjm_input+1) ! Minimum of co2_ice_s of the year 37 REAL, INTENT(OUT) :: min_co2_ice_slope(iim_input+1,jjm_input+1,nslope) ! Minimum of co2_ice slope of the year 38 REAL, INTENT(OUT) :: min_h2o_ice_slope(iim_input+1,jjm_input+1,nslope) ! Minimum of co2_ice slope of the year 39 REAL, INTENT(OUT) :: vmr_co2_gcm(iim_input+1,jjm_input+1,timelen) !!!!vmr_co2_phys_gcm(iim_input+1,jjm_input+1,timelen) 40 REAL, INTENT(OUT) :: q_h2o_GCM(iim_input+1,jjm_input+1,timelen) 41 REAL, INTENT(OUT) :: q_co2_GCM(iim_input+1,jjm_input+1,timelen) 42 REAL, INTENT(OUT) :: ps_GCM(iim_input+1,jjm_input+1,timelen) 30 INTEGER :: iim_input,jjm_input,nslope ! number of points in the lat x lon dynamical grid, number of subgrid slopes 31 32 ! Ouputs 33 REAL, INTENT(OUT) :: min_h2o_ice_s(iim_input+1,jjm_input+1) ! Minimum of h2o ice, mesh averaged of the year [kg/m^2] 34 REAL, INTENT(OUT) :: min_co2_ice_s(iim_input+1,jjm_input+1) ! Minimum of co2 ice, mesh averaged of the year [kg/m^2] 35 REAL, INTENT(OUT) :: min_co2_ice_slope(iim_input+1,jjm_input+1,nslope) ! Minimum of co2 ice per slope of the year [kg/m^2] 36 REAL, INTENT(OUT) :: min_h2o_ice_slope(iim_input+1,jjm_input+1,nslope) ! Minimum of h2o ice per slope of the year [kg/m^2] 37 REAL, INTENT(OUT) :: vmr_co2_gcm(iim_input+1,jjm_input+1,timelen) ! CO2 volume mixing ratio in the first layer [mol/m^3] 38 REAL, INTENT(OUT) :: q_h2o_GCM(iim_input+1,jjm_input+1,timelen) ! H2O mass mixing ratio in the first layer [kg/m^3] 39 REAL, INTENT(OUT) :: q_co2_GCM(iim_input+1,jjm_input+1,timelen) ! CO2 mass mixing ratio in the first layer [kg/m^3] 40 REAL, INTENT(OUT) :: ps_GCM(iim_input+1,jjm_input+1,timelen) ! Surface Pressure [Pa] 41 REAL, INTENT(OUT) :: co2_ice_slope(iim_input+1,jjm_input+1,nslope,timelen) ! co2 ice amount per slope of the year [kg/m^2] 43 42 44 43 !SOIL 45 REAL, INTENT(OUT) :: tsurf_ave(iim_input+1,jjm_input+1,nslope) ! Average surface temperature of the concatenated file 46 REAL, INTENT(OUT) :: tsoil_ave(iim_input+1,jjm_input+1,nsoilmx,nslope) ! Average soil temperature of the concatenated file 47 48 REAL ,INTENT(OUT) :: tsurf_gcm(iim_input+1,jjm_input+1,nslope,timelen) ! Surface temperature of the concatenated file 49 REAL , INTENT(OUT) :: tsoil_gcm(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Soil temperature of the concatenated file 50 REAL , INTENT(OUT) :: watersurf_density(iim_input+1,jjm_input+1,nslope,timelen) ! Soil temperature of the concatenated file 51 REAL , INTENT(OUT) :: watersoil_density(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Soil temperature of the concatenated file 52 53 REAL :: TI_gcm(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Thermal Inertia of the concatenated file 54 REAL, INTENT(OUT) :: TI_ave(iim_input+1,jjm_input+1,nsoilmx,nslope) ! Average Thermal Inertia of the concatenated file 55 REAL, INTENT(OUT) :: co2_ice_slope(iim_input+1,jjm_input+1,nslope,timelen) ! Minimum of co2_ice slope of the year 44 REAL, INTENT(OUT) :: tsurf_ave(iim_input+1,jjm_input+1,nslope) ! Average surface temperature of the concatenated file [K] 45 REAL, INTENT(OUT) :: tsoil_ave(iim_input+1,jjm_input+1,nsoilmx,nslope) ! Average soil temperature of the concatenated file [K] 46 REAL ,INTENT(OUT) :: tsurf_gcm(iim_input+1,jjm_input+1,nslope,timelen) ! Surface temperature of the concatenated file, time series [K] 47 REAL , INTENT(OUT) :: tsoil_gcm(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Soil temperature of the concatenated file, time series [K] 48 REAL , INTENT(OUT) :: watersurf_density(iim_input+1,jjm_input+1,nslope,timelen) ! Water density at the surface, time series [kg/m^3] 49 REAL , INTENT(OUT) :: watersoil_density(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Water density in the soil layer, time series [kg/m^3] 50 REAL :: TI_gcm(iim_input+1,jjm_input+1,nsoilmx,nslope,timelen) ! Thermal Inertia of the concatenated file, times series [SI] 51 REAL, INTENT(OUT) :: TI_ave(iim_input+1,jjm_input+1,nsoilmx,nslope) ! Average Thermal Inertia of the concatenated file [SI] 56 52 !=============================================================================== 57 53 ! Local Variables 58 CHARACTER(LEN=256) :: msg, var, modname 59 INTEGER,PARAMETER :: length=100 60 INTEGER :: iq, fID, vID, idecal 61 INTEGER :: ierr 54 CHARACTER(LEN=256) :: msg, var, modname ! for reading 55 INTEGER :: iq, fID, vID, idecal ! for reading 56 INTEGER :: ierr ! for reading 62 57 CHARACTER(len=12) :: start_file_type="earth" ! default start file type 63 58 … … 66 61 67 62 INTEGER :: edges(4),corner(4) 68 INTEGER :: i,j,t 69 real,save :: m_co2, m_noco2, A , B, mmean 70 71 INTEGER :: islope 72 CHARACTER*2 :: num 63 INTEGER :: i,j,t ! loop variables 64 real,save :: m_co2, m_noco2, A , B, mmean ! Molar Mass of co2 and no co2, A;B intermediate variables to compute the mean molar mass of the layer 65 66 INTEGER :: islope ! loop for variables 67 CHARACTER*2 :: num ! for reading sloped variables 68 REAL, ALLOCATABLE :: h2o_ice_s(:,:,:) ! h2o ice, mesh averaged, of the concatenated file [kg/m^2] 69 REAL, ALLOCATABLE :: co2_ice_s(:,:,:) ! co2 ice, mesh averaged, of the concatenated file [kg/m^2] 70 REAL, ALLOCATABLE :: h2o_ice_s_slope(:,:,:,:) ! h2o ice per slope of the concatenated file [kg/m^2] 73 71 74 72 !----------------------------------------------------------------------- 75 modname=" pemetat0"73 modname="read_data_gcm" 76 74 77 75 m_co2 = 44.01E-3 ! CO2 molecular mass (kg/mol)
Note: See TracChangeset
for help on using the changeset viewer.