Changeset 3727 for trunk/LMDZ.MARS


Ignore:
Timestamp:
Apr 17, 2025, 5:28:46 PM (2 months ago)
Author:
emillour
Message:

Mars PCM:
Code tidying: put routines in modules, remove useless "return" statements and
remove obsolete and unused scopyi.F
EM

Location:
trunk/LMDZ.MARS
Files:
1 deleted
18 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/LMDZ.MARS/changelog.txt

    r3726 r3727  
    47984798== 17/04/2025 == EM
    47994799Turn "callkeys.h" into module "callkeys_mod.F90"
     4800
     4801== 17/04/2025 == EM
     4802Code tidying: put routines in modules, remove useless "return" statements and
     4803remove obsolete and unused scopyi.F
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/callsedim_mod.F

    r3726 r3727  
    2424     &                      nqfils,qperemin,masseqmin ! MVals: variables isotopes
    2525      USE newsedim_mod, ONLY: newsedim
     26      USE vlz_fi_mod, ONLY: vlz_fi
    2627      USE comcstfi_h, ONLY: g
    2728      USE dimradmars_mod, only: naerkind
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/calltherm_interface.F90

    r2823 r3727  
     1MODULE calltherm_interface_mod
     2
     3IMPLICIT NONE
     4
     5CONTAINS
    16!=======================================================================
    27! CALLTHERM_INTERFACE
     
    5156      ! "r" : recuced gas constant (J.K-1.mol-1)
    5257      ! "cpp" : specific heat of the atmosphere (J.kg-1.K-1)
    53       USE comcstfi_h
     58      USE comcstfi_h, only: r, g, cpp
     59
     60      use thermcell_main_mars_mod, only: thermcell_main_mars
     61     
     62      use thermcell_dqup_mod, only: thermcell_dqup
    5463
    5564      implicit none
     
    488497      ENDDO
    489498
    490        END
     499       END SUBROUTINE calltherm_interface
     500
     501END MODULE calltherm_interface_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/newsedim_mod.F

    r2616 r3727  
    77      SUBROUTINE newsedim(ngrid,nlay,naersize,nrhosize,ptimestep,
    88     &  pplev,masse,epaisseur,pt,rd,rho,pqi,wq,beta)
     9      USE vlz_fi_mod, ONLY: vlz_fi
    910      USE comcstfi_h, ONLY: r,g
    1011      IMPLICIT NONE
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/phyetat0_mod.F90

    r3726 r3727  
    3434use comcstfi_h,          only: pi
    3535use geometry_mod,        only: latitude
     36use soil_settings_mod, only: soil_settings
    3637use callkeys_mod, only: startphy_file, rdstorm, hdo
    3738
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/physiq_mod.F

    r3726 r3727  
    125125     &                        ini_comslope_h
    126126      use write_output_mod, only: write_output
     127      use soil_mod, only: soil
    127128      use pbl_parameters_mod, only: pbl_parameters
     129      use calltherm_interface_mod, only: calltherm_interface
    128130      use lmdz_atke_turbulence_ini, only : atke_ini
    129131      use waterice_tifeedback_mod, only : waterice_tifeedback
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/soil.F

    r3726 r3727  
     1      module soil_mod
     2     
     3      implicit none
     4     
     5      contains
     6     
    17      subroutine soil(ngrid,nsoil,firstcall,
    28     &          therm_i,
     
    2531!  ---------
    2632!  inputs:
    27       integer ngrid     ! number of (horizontal) grid-points
    28       integer nsoil     ! number of soil layers
    29       logical firstcall ! identifier for initialization call
    30       real therm_i(ngrid,nsoil,nslope) ! thermal inertia
    31       real timestep         ! time step
    32       real tsurf(ngrid,nslope)   ! surface temperature
     33      integer,intent(in) :: ngrid       ! number of (horizontal) grid-points
     34      integer,intent(in) :: nsoil       ! number of soil layers
     35      logical,intent(in) :: firstcall ! identifier for initialization call
     36      real,intent(in) :: therm_i(ngrid,nsoil,nslope) ! thermal inertia
     37      real,intent(in) :: timestep           ! time step
     38      real,intent(in) :: tsurf(ngrid,nslope)   ! surface temperature
    3339! outputs:
    34       real tsoil(ngrid,nsoil,nslope) ! soil (mid-layer) temperature
    35       real capcal(ngrid,nslope) ! surface specific heat
    36       real fluxgrd(ngrid,nslope) ! surface diffusive heat flux
     40      real,intent(out) :: tsoil(ngrid,nsoil,nslope) ! soil (mid-layer) temperature
     41      real,intent(out) :: capcal(ngrid,nslope) ! surface specific heat
     42      real,intent(out) :: fluxgrd(ngrid,nslope) ! surface diffusive heat flux
    3743
    3844! local variables:
     
    200206      enddo
    201207      enddo ! islope
    202       end
    203 
     208
     209      end subroutine soil
     210     
     211      end module soil_mod
     212
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/soil_settings.F

    r3126 r3727  
     1      module soil_settings_mod
     2     
     3      implicit none
     4     
     5      contains
     6     
    17      subroutine soil_settings(nid,ngrid,nsoil,nqsoil,tsurf,tsoil,
    28     &                         qsoil,indextime)
     
    516522      write(*,*)'Soil temperature <tsoil>:',xmin,xmax
    517523
    518       end
     524      end subroutine soil_settings
     525     
     526      end module soil_settings_mod
     527     
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/swmain_mod.F

    r3726 r3727  
    1515      use yomlw_h, only: nlaylte, gcp
    1616      use callkeys_mod, only: swrtype
     17      use swr_fouquart_mod, only: swr_fouquart
     18      use swr_toon_mod, only: swr_toon
     19     
    1720      IMPLICIT NONE
    1821
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/swr_fouquart.F

    r3726 r3727  
     1      MODULE swr_fouquart_mod
     2     
     3      IMPLICIT NONE
     4     
     5      CONTAINS
     6     
    17      SUBROUTINE SWR_FOUQUART ( KDLON, KFLEV, KNU
    28     S     ,  aerosol,QVISsQREF3d,omegaVIS3d,gVIS3d
     
    367373
    368374C     
    369       RETURN
    370       END
     375
     376      END SUBROUTINE SWR_FOUQUART
    371377
    372378CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
     
    524530C
    525531 131  CONTINUE
    526       RETURN
    527       END
    528 
     532
     533      END SUBROUTINE DEDD
     534
     535      END MODULE swr_fouquart_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/swr_toon.F

    r3726 r3727  
     1      module swr_toon_mod
     2     
     3      implicit none
     4     
     5      contains
     6     
    17      SUBROUTINE SWR_TOON ( KDLON, KFLEV, KNU
    28     S     ,  aerosol,QVISsQREF3d,omegaVIS3d,gVIS3d
     
    206212c     End part added by Tran The Trung
    207213
    208       RETURN
    209       END
     214      END SUBROUTINE SWR_TOON
    210215
    211216CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
     
    379384      END DO
    380385
    381       RETURN
    382       END
     386      END SUBROUTINE GFLUXV
    383387
    384388CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
     
    388392
    389393C DOUBLE PRECISION VERSION OF SOLVER
    390 
     394      IMPLICIT NONE
    391395cc      PARAMETER (NMAX=201)
    392396cc AS+JBM 03/2010
    393       IMPLICIT REAL*8  (A-H,O-Z)
    394       DIMENSION GAMA(NL),CP(NL),CM(NL),CPM1(NL),CMM1(NL),XK1(NL),
     397      INTEGER NL
     398!      IMPLICIT REAL*8  (A-H,O-Z)
     399      REAL*8 GAMA(NL),CP(NL),CM(NL),CPM1(NL),CMM1(NL),XK1(NL),
    395400     *          XK2(NL),E1(NL),E2(NL),E3(NL),E4(NL)
     401      REAL*8 BTOP,BSURF,RSF
    396402cc AS+JBM 03/2010     
    397403cc      DIMENSION AF(NMAX),BF(NMAX),CF(NMAX),DF(NMAX),XK(NMAX)
    398       DIMENSION AF(2*NL),BF(2*NL),CF(2*NL),DF(2*NL),XK(2*NL)
     404      REAL*8 AF(2*NL),BF(2*NL),CF(2*NL),DF(2*NL),XK(2*NL)
    399405
    400406C*********************************************************
     
    427433C======================================================================C
    428434
     435      INTEGER :: I, L, LM1, LM2, N
     436
    429437      L=2*NL
    430438 
     
    484492   28 CONTINUE
    485493 
    486       RETURN
    487       END
     494      END SUBROUTINE DSOLVER
    488495
    489496CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
     
    492499
    493500C     DOUBLE PRECISION VERSION OF TRIDGL
    494 
     501      IMPLICIT NONE
    495502cc AS+JBM 03/2010 : OBSOLETE MAINTENANT     
    496503cc      PARAMETER (NMAX=201)
    497       IMPLICIT REAL*8  (A-H,O-Z)
    498       DIMENSION AF(L),BF(L),CF(L),DF(L),XK(L)
     504!      IMPLICIT REAL*8  (A-H,O-Z)
     505      INTEGER L
     506      REAL*8 AF(L),BF(L),CF(L),DF(L),XK(L)
    499507cc AS+JBM 03/2010 : OBSOLETE MAINTENANT
    500508cc      DIMENSION AS(NMAX),DS(NMAX)
    501       DIMENSION AS(L),DS(L)
     509      REAL*8 AS(L),DS(L)
     510      REAL*8 X
     511      INTEGER I
    502512
    503513C*    THIS SUBROUTINE SOLVES A SYSTEM OF TRIDIAGIONAL MATRIX
     
    523533      END DO
    524534
    525       RETURN
    526       END
    527      
     535      END SUBROUTINE DTRIDGL
     536     
     537      end module swr_toon_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/thermcell_dqup.F90

    r1212 r3727  
     1MODULE thermcell_dqup_mod
     2
     3IMPLICIT NONE
     4
     5CONTAINS
     6
    17!=======================================================================
    28! THERMCELL_DQUP
     
    99105! ==============
    100106
    101       return
    102       end
     107      end subroutine thermcell_dqup
    103108
     109END MODULE thermcell_dqup_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/thermcell_main_mars.F90

    r2823 r3727  
     1MODULE thermcell_main_mars_mod
     2
     3IMPLICIT NONE
     4
     5CONTAINS
     6
    17!=======================================================================
    28! THERMCELL_MAIN_MARS
     
    4955      ! "g" : gravitational acceleration (m.s-2)
    5056      ! "r" : recuced gas constant (J.K-1.mol-1)
    51       USE comcstfi_h
    52 
     57      USE comcstfi_h, only: g, r
     58
     59      use thermcell_dqup_mod, only: thermcell_dqup
     60     
    5361      IMPLICIT NONE
    5462
     
    12451253      enddo
    12461254
    1247       return
    1248       end
     1255      end subroutine thermcell_main_mars
     1256
     1257END MODULE thermcell_main_mars_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/vdif_cd_mod.F90

    r3726 r3727  
    297297      ENDIF
    298298
    299       RETURN
    300      
    301299 END SUBROUTINE vdif_cd
    302300
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/vdif_kc.F

    r2823 r3727  
     1      MODULE vdif_kc_mod
     2     
     3      IMPLICIT NONE
     4     
     5      CONTAINS
     6     
    17      SUBROUTINE vdif_kc(ngrid,nlay,nq,dt,g,
    28     &                   zlev,zlay,u,v,teta,cd,q2,km,kn,zq)
     
    634640!        call writediagfi(ngrid,'vdif_kc_sm','','',3,sm(:,1:nlay))
    635641
    636       RETURN
    637       END
     642      END SUBROUTINE vdif_kc
     643
     644      END MODULE vdif_kc_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/vdifc_mod.F

    r3726 r3727  
    3838      use comsoil_h, only: layer, mlayer,adsorption_soil
    3939      use vdif_cd_mod, only: vdif_cd
     40      use vdif_kc_mod, only: vdif_kc
     41      use yamada4_mod, only: yamada4
    4042      use lmdz_call_atke, only: call_atke
    4143      use dust_windstress_lift_mod, only: dust_windstress_lift
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/vlz_fi.F

    r2448 r3727  
     1      MODULE vlz_fi_mod
     2     
     3      IMPLICIT NONE
     4     
     5      CONTAINS
     6     
    17      SUBROUTINE vlz_fi(ngrid,nlay,q,pente_max,masse,w,wq)
    28c
     
    194200      enddo
    195201
    196       return
    197       end
     202      END SUBROUTINE vlz_fi
     203
     204      END MODULE vlz_fi_mod
  • TabularUnified trunk/LMDZ.MARS/libf/phymars/yamada4.F

    r3726 r3727  
     1      MODULE yamada4_mod
     2     
     3      IMPLICIT NONE
     4     
     5      CONTAINS
     6     
    17!************************************************************
    28!************************************************************
     
    613619      first=.false.
    614620
    615       end
     621      END SUBROUTINE yamada4
     622
    616623      SUBROUTINE vdif_q2(timestep,gravity,rconst,ngrid,nlay
    617624     & ,plev,temp,kmy,q2)
     
    688695      enddo
    689696
    690       return
    691       end
     697
     698      END SUBROUTINE vdif_q2
     699
    692700      SUBROUTINE vdif_q2e(timestep,gravity,rconst,ngrid,nlay,
    693701     &   plev,temp,kmy,q2)
     
    750758
    751759
    752       end
     760      END SUBROUTINE vdif_q2e
     761
     762
     763      END MODULE yamada4_mod
Note: See TracChangeset for help on using the changeset viewer.