source: trunk/LMDZ.COMMON/libf/evolution/recomp_tend_co2_slope.F90 @ 3026

Last change on this file since 3026 was 2980, checked in by romain.vande, 19 months ago

Mars PEM :

Adapt PEM to 1d runs.
Cleaning of names and unused variables.
Correct minor errors.
Adapt and correct reshape_xios_output utilitary for 1d diagfi output.

RV

File size: 2.6 KB
Line 
1!
2! $Id $
3!
4SUBROUTINE recomp_tend_co2_slope(ngrid,nslope,timelen,tendencies_co2_ice_phys,tendencies_co2_ice_phys_ini,co2ice_slope, emissivity_slope, &
5                                 vmr_co2_gcm,vmr_co2_pem,ps_GCM_2,global_ave_press_GCM,global_ave_press_new)
6
7      use constants_marspem_mod, only : alpha_clap_co2, beta_clap_co2, sigmaB,Lco2, sols_per_my, sec_per_sol
8
9      IMPLICIT NONE
10
11!=======================================================================
12!
13!  Routine that compute the evolution of the tendencie for co2 ice
14!
15!=======================================================================
16
17!   arguments:
18!   ----------
19
20!   INPUT
21  INTEGER, intent(in) :: timelen,ngrid,nslope
22  REAL, INTENT(in) ::  vmr_co2_gcm(ngrid,timelen)                ! physical point field : Volume mixing ratio of co2 in the first layer
23  REAL, INTENT(in) ::  vmr_co2_pem(ngrid,timelen)                ! physical point field : Volume mixing ratio of co2 in the first layer
24  REAL, intent(in) :: ps_GCM_2(ngrid,timelen)                    ! physical point field : Surface pressure in the GCM
25  REAL, intent(in) :: global_ave_press_GCM                       ! global averaged pressure at previous timestep
26  REAL, intent(in) :: global_ave_press_new                       ! global averaged pressure at current timestep
27  REAL, intent(in) ::  tendencies_co2_ice_phys_ini(ngrid,nslope) ! physical point field : Evolution of perenial ice over one year
28  REAL, intent(in) :: co2ice_slope(ngrid,nslope)                 ! CO2 ice per mesh and sub-grid slope(kg/m^2)
29  REAL, intent(in) :: emissivity_slope(ngrid,nslope)             ! Emissivity per mesh and sub-grid slope(1)
30
31!   OUTPUT
32  REAL, intent(inout) ::  tendencies_co2_ice_phys(ngrid,nslope) ! physical point field : Evolution of perenial ice over one year
33
34!   local:
35!   ----
36
37  INTEGER :: i,t,islope
38  REAL ::  coef, ave
39
40! Evolution of the water ice for each physical point
41  do i=1,ngrid
42    do islope=1,nslope
43      coef=sols_per_my*sec_per_sol*emissivity_slope(i,islope)*sigmaB/Lco2
44      ave=0.
45      if(co2ice_slope(i,islope).gt.1e-4 .and. abs(tendencies_co2_ice_phys(i,islope)).gt.1e-5) then
46        do t=1,timelen
47           ave=ave+(beta_clap_co2/(alpha_clap_co2-log(vmr_co2_gcm(i,t)*ps_GCM_2(i,t)/100.)))**4  &
48              -(beta_clap_co2/(alpha_clap_co2-log(vmr_co2_pem(i,t)*ps_GCM_2(i,t)*(global_ave_press_new/global_ave_press_GCM)/100.)))**4
49         enddo
50      endif
51      if(ave.lt.1e-4) ave = 0.
52      tendencies_co2_ice_phys(i,islope)=tendencies_co2_ice_phys_ini(i,islope)-coef*ave/timelen
53    enddo
54  enddo
55
56END SUBROUTINE recomp_tend_co2_slope
Note: See TracBrowser for help on using the repository browser.