Ignore:
Timestamp:
Oct 28, 2024, 11:17:48 AM (8 months ago)
Author:
abarral
Message:

Turn comgeom.h comgeom2.h into modules

Location:
LMDZ6/trunk/libf/dyn3d
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified LMDZ6/trunk/libf/dyn3d/addfi.f90

    r5272 r5281  
    1111  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    1212          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     13  USE comgeom_mod_h
    1314  IMPLICIT NONE
    1415  !
     
    4546  !
    4647  !-----------------------------------------------------------------------
    47   !
    48   !    0.  Declarations :
    49   !    ------------------
    50   !
    51   include "comgeom.h"
    5248  !
    5349  !    Arguments :
  • TabularUnified LMDZ6/trunk/libf/dyn3d/advect.f90

    r5272 r5281  
    33!
    44SUBROUTINE advect(ucov,vcov,teta,w,massebx,masseby,du,dv,dteta)
     5  USE comgeom_mod_h
    56  USE comconst_mod, ONLY: daysec
    67  USE logic_mod, ONLY: conser
     
    2829  !   Declarations:
    2930  !   -------------
    30   include "comgeom.h"
    3131
    3232  !   Arguments:
  • TabularUnified LMDZ6/trunk/libf/dyn3d/advtrac.f90

    r5280 r5281  
    99   !            M.A Filiberti (04/2002)
    1010   !
     11   USE comgeom2_mod_h
    1112   USE comdissip_mod_h
    1213   USE infotrac,     ONLY: nqtot, tracers, isoCheck
     
    2223
    2324
    24    include "comgeom2.h"
    2525   include "description.h"
    2626   include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/bilan_dyn.f90

    r5272 r5281  
    1010  !             vQ..A=Cp T + L * ...
    1111
     12  USE comgeom2_mod_h
    1213  USE IOIPSL
    1314  USE comconst_mod, ONLY: pi, cpp
     
    2223
    2324
    24   include "comgeom2.h"
    2525  include "iniprint.h"
    2626
  • TabularUnified LMDZ6/trunk/libf/dyn3d/caldyn.f90

    r5272 r5281  
    77
    88
     9  USE comgeom_mod_h
    910  USE comvert_mod, ONLY: ap, bp
    1011
     
    3233
    3334
    34   include "comgeom.h"
    3535
    3636  !   Arguments:
  • TabularUnified LMDZ6/trunk/libf/dyn3d/covnat.F90

    r5272 r5281  
    33!
    44SUBROUTINE covnat (klevel,ucov, vcov, unat, vnat )
     5  USE comgeom_mod_h
    56  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    67  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     
    2122  !
    2223  !=======================================================================
    23   INCLUDE "comgeom.h"
    2424
    2525  INTEGER :: klevel
  • TabularUnified LMDZ6/trunk/libf/dyn3d/dissip.f90

    r5280 r5281  
    44SUBROUTINE dissip( vcov,ucov,teta,p, dv,du,dh )
    55  !
     6  USE comgeom_mod_h
    67  USE comdissipn_mod_h
    78  USE comdissnew_mod_h
     
    3435
    3536
    36   include "comgeom.h"
    3737
    3838  !   Arguments:
  • TabularUnified LMDZ6/trunk/libf/dyn3d/dynetat0.f90

    r5272 r5281  
    66! Purpose: Initial state reading.
    77!-------------------------------------------------------------------------------
     8  USE comgeom2_mod_h
    89  USE infotrac,    ONLY: nqtot, tracers, niso, iqIsoPha, iH2O, isoName, &
    910                         new2oldH2O, newHNO3, oldHNO3
     
    3031
    3132
    32   include "comgeom2.h"
    3333  include "description.h"
    3434  include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/dynredem.f90

    r5272 r5281  
    1818  USE temps_mod, ONLY: annee_ref, day_ref, itau_dyn, itaufin, start_time
    1919  USE ener_mod, ONLY: etot0,ptot0,ztot0,stot0,ang0
    20  
     20
    2121  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    22 USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     22  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    2323          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     24  USE comgeom2_mod_h
    2425IMPLICIT NONE
    2526
    2627
    27   include "comgeom2.h"
    2828  include "description.h"
    2929  include "iniprint.h"
     
    3131! Arguments:
    3232  CHARACTER(LEN=*), INTENT(IN) :: fichnom          !--- FILE NAME
    33   INTEGER,          INTENT(IN) :: iday_end         !--- 
     33  INTEGER,          INTENT(IN) :: iday_end         !---
    3434  REAL,             INTENT(IN) :: phis(iip1, jjp1) !--- GROUND GEOPOTENTIAL
    3535!===============================================================================
     
    7272  tab_cntrl(19) = preff
    7373
    74 !    .....    parameters for zoom    ......   
     74!    .....    parameters for zoom    ......
    7575  tab_cntrl(20) = clon
    7676  tab_cntrl(21) = clat
     
    169169                          err, modname, fil, msg
    170170  USE temps_mod, ONLY: itau_dyn, itaufin
    171  
     171
    172172  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    173 USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     173  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    174174          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     175  USE comgeom_mod_h
    175176IMPLICIT NONE
    176177
    177178
    178179  include "description.h"
    179   include "comgeom.h"
    180180  include "iniprint.h"
    181181!===============================================================================
  • TabularUnified LMDZ6/trunk/libf/dyn3d/fluxstokenc.f90

    r5272 r5281  
    66  ! This routine is designed to work with ioipsl
    77
    8    USE IOIPSL
     8   USE comgeom_mod_h
     9  USE IOIPSL
    910  !
    1011  ! Auteur :  F. Hourdin
     
    2021
    2122
    22   include "comgeom.h"
    2323  include "tracstoke.h"
    2424  include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/friction.f90

    r5272 r5281  
    44!=======================================================================
    55SUBROUTINE friction(ucov,vcov,pdt)
     6  USE comgeom2_mod_h
    67  USE control_mod
    78  USE IOIPSL
     
    2526
    2627
    27   include "comgeom2.h"
    2828  include "iniprint.h"
    2929  include "academic.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/gcm.f90

    r5280 r5281  
    55!
    66PROGRAM gcm
     7  USE comgeom_mod_h
    78  USE comdissnew_mod_h
    89  USE IOIPSL
     
    5758  !   Declarations:
    5859  !   -------------
    59   include "comgeom.h"
    6060  include "description.h"
    6161  include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/groupe.f90

    r5272 r5281  
    44subroutine groupe(pext,pbaru,pbarv,pbarum,pbarvm,wm)
    55
     6  USE comgeom2_mod_h
    67  use comconst_mod, only: ngroup
    78
     
    2425
    2526
    26   include "comgeom2.h"
    2727
    2828  ! integer ngroup
  • TabularUnified LMDZ6/trunk/libf/dyn3d/groupeun.f90

    r5272 r5281  
    44SUBROUTINE groupeun(jjmax,llmax,q)
    55
     6  USE comgeom2_mod_h
    67  USE comconst_mod, ONLY: ngroup
    78
     
    1314
    1415
    15   include "comgeom2.h"
    1616
    1717  INTEGER :: jjmax,llmax
     
    141141SUBROUTINE INIT_GROUPEUN(airen_tab, aires_tab)
    142142
     143  USE comgeom2_mod_h
    143144  USE comconst_mod, ONLY: ngroup
    144145
     
    150151
    151152
    152   include "comgeom2.h"
    153153
    154154  ! INTEGER ngroup
  • TabularUnified LMDZ6/trunk/libf/dyn3d/guide_mod.f90

    r5272 r5281  
    88!            F. Codron 01/09
    99!=======================================================================
    10 
    11   USE getparam, only: ini_getparam, fin_getparam, getpar
     10    USE getparam, only: ini_getparam, fin_getparam, getpar
    1211  USE Write_Field
    1312  use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
     
    9291
    9392! ---------------------------------------------
    94 ! Lecture des parametres: 
     93! Lecture des parametres:
    9594! ---------------------------------------------
    9695    call ini_getparam("nudging_parameters_out.txt")
     
    172171
    173172    call fin_getparam
    174    
     173
    175174! ---------------------------------------------
    176175! Determination du nombre de niveaux verticaux
     
    230229
    231230
    232     endif 
     231    endif
    233232    error=nf90_inq_dimid(ncidpl,'LEVEL',rid)
    234233    IF (error.NE.NF90_NOERR) error=nf90_inq_dimid(ncidpl,'PRESSURE',rid)
     
    237236    ENDIF
    238237    error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc)
    239     write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc 
     238    write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
    240239    rcod = nf90_close(ncidpl)
    241240
     
    264263    IF (error /= 0) CALL abort_gcm(modname,abort_message,1)
    265264    alpha_u=0.;alpha_v=0;alpha_T=0;alpha_Q=0;alpha_P=0
    266    
     265
    267266    IF (guide_u) THEN
    268267        ALLOCATE(unat1(iip1,jjp1,nlevnc), stat = error)
     
    288287        tnat1=0.;tnat2=0.;tgui1=0.;tgui2=0.
    289288    ENDIF
    290      
     289
    291290    IF (guide_Q) THEN
    292291        ALLOCATE(qnat1(iip1,jjp1,nlevnc), stat = error)
     
    361360    USE comconst_mod, ONLY: cpp, dtvr, daysec,kappa
    362361    USE comvert_mod, ONLY: ap, bp, preff, presnivs, pressure_exner
    363  
     362
    364363    USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    365364USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     
    391390    REAL          :: tau,reste ! position entre 2 etats de guidage
    392391    REAL, SAVE    :: factt ! pas de temps en fraction de jour
    393    
     392
    394393    INTEGER       :: l
    395394    CHARACTER(LEN=20) :: modname="guide_main"
     
    402401    IF (first) THEN
    403402        first=.FALSE.
    404         CALL guide_init 
     403        CALL guide_init
    405404        itau_test=1001
    406405        step_rea=1
    407406        count_no_rea=0
    408407! Calcul des constantes de rappel
    409         factt=dtvr*iperiod/daysec 
     408        factt=dtvr*iperiod/daysec
    410409        call tau2alpha(3,iip1,jjm ,factt,tau_min_v,tau_max_v,alpha_v)
    411410        call tau2alpha(2,iip1,jjp1,factt,tau_min_u,tau_max_u,alpha_u)
     
    421420            enddo
    422421        endif
    423 ! ini_anal: etat initial egal au guidage       
     422! ini_anal: etat initial egal au guidage
    424423        IF (ini_anal) THEN
    425424            CALL guide_interp(ps,teta)
     
    464463            itau
    465464              abort_message='stopped'
    466               CALL abort_gcm(modname,abort_message,1) 
     465              CALL abort_gcm(modname,abort_message,1)
    467466          ELSE
    468467              IF (guide_v) vnat1=vnat2
     
    503502
    504503!-----------------------------------------------------------------------
    505 !   Ajout des champs de guidage 
     504!   Ajout des champs de guidage
    506505!-----------------------------------------------------------------------
    507506! Sauvegarde du guidage?
    508     f_out=((MOD(itau,iguide_sav).EQ.0).AND.guide_sav) 
     507    f_out=((MOD(itau,iguide_sav).EQ.0).AND.guide_sav)
    509508    IF (f_out) THEN
    510509      ! compute pressures at layer interfaces
     
    522521      CALL guide_out("SP",jjp1,llm,p(:,1:llm))
    523522    ENDIF
    524    
     523
    525524    if (guide_u) then
    526525        if (guide_add) then
     
    528527        else
    529528           f_add=(1.-tau)*ugui1+tau*ugui2-ucov
    530         endif 
     529        endif
    531530        if (guide_zon) CALL guide_zonave(1,jjp1,llm,f_add)
    532531        CALL guide_addfield(ip1jmp1,llm,f_add,alpha_u)
     
    542541        else
    543542           f_add=(1.-tau)*tgui1+tau*tgui2-teta
    544         endif 
     543        endif
    545544        if (guide_zon) CALL guide_zonave(2,jjp1,llm,f_add)
    546545        CALL guide_addfield(ip1jmp1,llm,f_add,alpha_T)
     
    554553        else
    555554           f_add(1:ip1jmp1,1)=(1.-tau)*psgui1+tau*psgui2-ps
    556         endif 
     555        endif
    557556        if (guide_zon) CALL guide_zonave(2,jjp1,1,f_add(1:ip1jmp1,1))
    558557        CALL guide_addfield(ip1jmp1,1,f_add(1:ip1jmp1,1),alpha_P)
     
    568567        else
    569568           f_add=(1.-tau)*qgui1+tau*qgui2-q
    570         endif 
     569        endif
    571570        if (guide_zon) CALL guide_zonave(2,jjp1,llm,f_add)
    572571        CALL guide_addfield(ip1jmp1,llm,f_add,alpha_Q)
     
    580579        else
    581580           f_add(1:ip1jm,:)=(1.-tau)*vgui1+tau*vgui2-vcov
    582         endif 
     581        endif
    583582        if (guide_zon) CALL guide_zonave(2,jjm,llm,f_add(1:ip1jm,:))
    584583        CALL guide_addfield(ip1jm,llm,f_add(1:ip1jm,:),alpha_v)
     
    599598    INTEGER,                      INTENT(IN)    :: hsize
    600599    INTEGER,                      INTENT(IN)    :: vsize
    601     REAL, DIMENSION(hsize),       INTENT(IN)    :: alpha 
     600    REAL, DIMENSION(hsize),       INTENT(IN)    :: alpha
    602601    REAL, DIMENSION(hsize,vsize), INTENT(INOUT) :: field
    603602
     
    615614
    616615    USE comconst_mod, ONLY: pi
    617    
     616
    618617    USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    619618USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    620619          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     620    USE comgeom_mod_h
    621621IMPLICIT NONE
    622622
    623623
    624624
    625     INCLUDE "comgeom.h"
    626    
     625
    627626    ! input/output variables
    628627    INTEGER,                           INTENT(IN)    :: typ
     
    665664                fieldm(j,l)=fieldm(j,l)+field(ij,l)
    666665            ENDDO
    667         ENDDO 
     666        ENDDO
    668667        fieldm(:,l)=fieldm(:,l)/REAL(imax(typ)-imin(typ)+1)
    669668    ! Compute forcing
     
    680679!=======================================================================
    681680  SUBROUTINE guide_interp(psi,teta)
    682  
     681
    683682  use exner_hyb_m, only: exner_hyb
    684683  use exner_milieu_m, only: exner_milieu
     
    686685  use comvert_mod, only: preff, pressure_exner, bp, ap
    687686  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    688 USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     687  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    689688          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     689  USE comgeom2_mod_h
    690690IMPLICIT NONE
    691 
    692 
    693 
    694   include "comgeom2.h"
    695 
    696691  REAL, DIMENSION (iip1,jjp1),     INTENT(IN) :: psi ! Psol gcm
    697692  REAL, DIMENSION (iip1,jjp1,llm), INTENT(IN) :: teta ! Temp. Pot. gcm
     
    702697  REAL, DIMENSION (iip1,jjp1,llm)    :: plunc,plsnc !niveaux pression modele
    703698  REAL, DIMENSION (iip1,jjm,llm)     :: plvnc       !niveaux pression modele
    704   REAL, DIMENSION (iip1,jjp1,llmp1)  :: p           ! pression intercouches 
     699  REAL, DIMENSION (iip1,jjp1,llmp1)  :: p           ! pression intercouches
    705700  REAL, DIMENSION (iip1,jjp1,llm)    :: pls, pext   ! var intermediaire
    706   REAL, DIMENSION (iip1,jjp1,llm)    :: pbarx 
    707   REAL, DIMENSION (iip1,jjm,llm)     :: pbary 
     701  REAL, DIMENSION (iip1,jjp1,llm)    :: pbarx
     702  REAL, DIMENSION (iip1,jjm,llm)     :: pbary
    708703  ! Variables pour fonction Exner (P milieu couche)
    709704  REAL, DIMENSION (iip1,jjp1,llm)    :: pk
    710   REAL, DIMENSION (iip1,jjp1)        :: pks   
     705  REAL, DIMENSION (iip1,jjp1)        :: pks
    711706  REAL                               :: prefkap,unskap
    712707  ! Pression de vapeur saturante
    713708  REAL, DIMENSION (ip1jmp1,llm)      :: qsat
    714709  !Variables intermediaires interpolation
    715   REAL, DIMENSION (iip1,jjp1,llm)    :: zu1,zu2 
     710  REAL, DIMENSION (iip1,jjp1,llm)    :: zu1,zu2
    716711  REAL, DIMENSION (iip1,jjm,llm)     :: zv1,zv2
    717  
     712
    718713  INTEGER                            :: i,j,l,ij
    719714  CHARACTER(LEN=20),PARAMETER :: modname="guide_interp"
    720  
     715
    721716    write(*,*)trim(modname)//': interpolate nudging variables'
    722717! -----------------------------------------------------------------
     
    767762        endif
    768763    endif
    769    
     764
    770765! -----------------------------------------------------------------
    771 ! Calcul niveaux pression modele 
     766! Calcul niveaux pression modele
    772767! -----------------------------------------------------------------
    773768    CALL pression( ip1jmp1, ap, bp, psi, p )
     
    839834                    ugui2(ij,l)=zu2(i,j,l)*cu(i,j)
    840835                enddo
    841                 ugui1(j*iip1,l)=ugui1((j-1)*iip1+1,l)   
    842                 ugui2(j*iip1,l)=ugui2((j-1)*iip1+1,l)   
     836                ugui1(j*iip1,l)=ugui1((j-1)*iip1+1,l)
     837                ugui2(j*iip1,l)=ugui2((j-1)*iip1+1,l)
    843838            enddo
    844839            do i=1,iip1
     
    850845        enddo
    851846    ENDIF
    852    
     847
    853848    IF (guide_T) THEN
    854849        CALL pres2lev(tnat1,zu1,nlevnc,llm,plnc1,plsnc,iip1,jjp1,invert_p)
     
    869864                    enddo
    870865                ENDIF
    871                 tgui1(j*iip1,l)=tgui1((j-1)*iip1+1,l)   
    872                 tgui2(j*iip1,l)=tgui2((j-1)*iip1+1,l)   
     866                tgui1(j*iip1,l)=tgui1((j-1)*iip1+1,l)
     867                tgui2(j*iip1,l)=tgui2((j-1)*iip1+1,l)
    873868            enddo
    874869            do i=1,iip1
    875870                tgui1(i,l)=tgui1(1,l)
    876                 tgui1(ip1jm+i,l)=tgui1(ip1jm+1,l) 
     871                tgui1(ip1jm+i,l)=tgui1(ip1jm+1,l)
    877872                tgui2(i,l)=tgui2(1,l)
    878                 tgui2(ip1jm+i,l)=tgui2(ip1jm+1,l) 
     873                tgui2(ip1jm+i,l)=tgui2(ip1jm+1,l)
    879874            enddo
    880875        enddo
     
    893888                    vgui2(ij,l)=zv2(i,j,l)*cv(i,j)
    894889                enddo
    895                 vgui1(j*iip1,l)=vgui1((j-1)*iip1+1,l)   
    896                 vgui2(j*iip1,l)=vgui2((j-1)*iip1+1,l)   
     890                vgui1(j*iip1,l)=vgui1((j-1)*iip1+1,l)
     891                vgui2(j*iip1,l)=vgui2((j-1)*iip1+1,l)
    897892            enddo
    898893        enddo
    899894    ENDIF
    900    
     895
    901896    IF (guide_Q) THEN
    902897        ! On suppose qu'on a la bonne variable dans le fichier de guidage:
     
    911906                    qgui2(ij,l)=zu2(i,j,l)
    912907                enddo
    913                 qgui1(j*iip1,l)=qgui1((j-1)*iip1+1,l)   
    914                 qgui2(j*iip1,l)=qgui2((j-1)*iip1+1,l)   
     908                qgui1(j*iip1,l)=qgui1((j-1)*iip1+1,l)
     909                qgui2(j*iip1,l)=qgui2((j-1)*iip1+1,l)
    915910            enddo
    916911            do i=1,iip1
    917912                qgui1(i,l)=qgui1(1,l)
    918                 qgui1(ip1jm+i,l)=qgui1(ip1jm+1,l) 
     913                qgui1(ip1jm+i,l)=qgui1(ip1jm+1,l)
    919914                qgui2(i,l)=qgui2(1,l)
    920                 qgui2(ip1jm+i,l)=qgui2(ip1jm+1,l) 
     915                qgui2(ip1jm+i,l)=qgui2(ip1jm+1,l)
    921916            enddo
    922917        enddo
     
    924919            CALL q_sat(iip1*jjp1*llm,teta*pk/cpp,plsnc,qsat)
    925920            qgui1=qgui1*qsat*0.01 !hum. rel. en %
    926             qgui2=qgui2*qsat*0.01 
     921            qgui2=qgui2*qsat*0.01
    927922        ENDIF
    928923    ENDIF
     
    937932    use comconst_mod, only: pi
    938933    use serre_mod, only: clon, clat, grossismx, grossismy
    939    
     934
    940935    USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    941 USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     936    USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    942937          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
    943 implicit none
    944 
    945 
    946 
    947     include "comgeom2.h"
    948 
     938    USE comgeom2_mod_h
     939    implicit none
    949940! input arguments :
    950941    INTEGER, INTENT(IN) :: typ    ! u(2),v(3), ou scalaire(1)
     
    953944    REAL, INTENT(IN)    :: taumin,taumax
    954945! output arguments:
    955     REAL, DIMENSION(pim,pjm), INTENT(OUT) :: alpha 
    956  
     946    REAL, DIMENSION(pim,pjm), INTENT(OUT) :: alpha
     947
    957948!  local variables:
    958949    LOGICAL, SAVE               :: first=.TRUE.
     
    10401031        ENDIF
    10411032! Premier appel: calcul des aires min et max et de gamma.
    1042         IF (first) THEN 
     1033        IF (first) THEN
    10431034            first=.FALSE.
    10441035            ! coordonnees du centre du zoom
    1045             CALL coordij(clon,clat,ilon,ilat) 
     1036            CALL coordij(clon,clat,ilon,ilat)
    10461037            ! aire de la maille au centre du zoom
    10471038            dxdy_min=dxdys(ilon,ilat)
     
    10671058              endif
    10681059              gamma=log(0.5)/log(gamma)
    1069               if (gamma4) then 
     1060              if (gamma4) then
    10701061                gamma=min(gamma,4.)
    10711062              endif
     
    11681159             ENDIF
    11691160             rcode = nf90_inq_varid(ncidp, 'PRES', varidp)
    1170              IF (rcode.NE.NF90_NOERR) THEN 
     1161             IF (rcode.NE.NF90_NOERR) THEN
    11711162              abort_message='Nudging: error -> no PRES variable in file P.nc'
    11721163              CALL abort_gcm(modname,abort_message,1)
     
    12211212             write(*,*) trim(modname)//' ncidv,varidv',ncidv,varidv
    12221213             if (ncidpl.eq.-99) ncidpl=ncidv
    1223              
     1214
    12241215             status=NF90_INQ_DIMID(ncidv, "LONV", dimid)
    12251216             status=NF90_INQUIRE_DIMENSION(ncidv,dimid,namedim,lendim)
    1226              
     1217
    12271218                IF (lendim .NE. iip1) THEN
    12281219                abort_message='dimension LONV different from iip1 in v.nc'
     
    12371228                CALL abort_gcm(modname,abort_message,1)
    12381229             ENDIF
    1239        
     1230
    12401231         endif
    12411232
     
    13501341     count(4)=1
    13511342
    1352 ! Pression 
     1343! Pression
    13531344     if (guide_plevs.EQ.2) then
    13541345         status=NF90_GET_VAR(ncidp,varidp,pnat2,start,count)
     
    13821373           CALL invert_lat(iip1,jjp1,nlevnc,qnat2)
    13831374         ENDIF
    1384          
     1375
    13851376     endif
    13861377
     
    16721663
    16731664  END SUBROUTINE guide_read2D
    1674  
     1665
    16751666!=======================================================================
    16761667  SUBROUTINE guide_out(varname,hsize,vsize,field)
     
    16801671    use netcdf95, only: nf95_def_var, nf95_put_var
    16811672    use netcdf, only: nf90_float, nf90_def_var, nf90_put_var
    1682    
     1673
    16831674    USE dimensions_mod, ONLY: iim, jjm, llm, ndm
    1684 USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
     1675    USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
    16851676          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
     1677    USE comgeom2_mod_h
    16861678IMPLICIT NONE
    16871679
    16881680
    16891681
    1690     INCLUDE "comgeom2.h"
    16911682   
    16921683    ! Variables entree
  • TabularUnified LMDZ6/trunk/libf/dyn3d/iniacademic.f90

    r5272 r5281  
    44SUBROUTINE iniacademic(vcov,ucov,teta,q,masse,ps,phis,time_0)
    55
     6  USE comgeom_mod_h
    67  USE filtreg_mod, ONLY: inifilr
    78  USE infotrac,    ONLY: nqtot, niso, iqIsoPha, tracers, isoName, addPhase
     
    3637
    3738
    38   include "comgeom.h"
    3939  include "academic.h"
    4040  include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/integrd.f90

    r5272 r5281  
    77        )
    88
     9  USE comgeom_mod_h
    910  use control_mod, only : planet_type
    1011  use comconst_mod, only: pi
     
    3637
    3738
    38   include "comgeom.h"
    3939  include "iniprint.h"
    4040
  • TabularUnified LMDZ6/trunk/libf/dyn3d/leapfrog.F90

    r5280 r5281  
    66SUBROUTINE leapfrog(ucov,vcov,teta,ps,masse,phis,q,time_0)
    77  !IM : pour sortir les param. du modele dans un fis. netcdf 110106
     8  USE comgeom_mod_h
    89  USE comdissnew_mod_h
    910  use IOIPSL
     
    6061  !   Declarations:
    6162  !   -------------
    62   include "comgeom.h"
    6363  include "description.h"
    6464  include "iniprint.h"
  • TabularUnified LMDZ6/trunk/libf/dyn3d/replay3d.f90

    r5280 r5281  
    55!
    66PROGRAM replay3d
     7  USE comgeom2_mod_h
    78  USE comdissnew_mod_h
    89  USE comvert_mod, only :  preff, pa
     
    5758  !   Declarations:
    5859  !   -------------
    59   include "comgeom2.h"
    6060
    6161  REAL zdtvr
  • TabularUnified LMDZ6/trunk/libf/dyn3d/sw_case_williamson91_6.f90

    r5272 r5281  
    2626  !
    2727  !=======================================================================
     28  USE comgeom_mod_h
    2829  USE comconst_mod, ONLY: cpp, omeg, rad
    2930  USE comvert_mod, ONLY: ap, bp, preff
     
    3940
    4041
    41   include "comgeom.h"
    4242  include "iniprint.h"
    4343
  • TabularUnified LMDZ6/trunk/libf/dyn3d/top_bound.F90

    r5280 r5281  
    44SUBROUTINE top_bound(vcov,ucov,teta,masse,dt)
    55
     6  USE comgeom2_mod_h
    67  USE comdissipn_mod_h
    78USE comconst_mod, ONLY: iflag_top_bound, mode_top_bound, &
     
    1617
    1718
    18   include "comgeom2.h"
    1919
    2020
  • TabularUnified LMDZ6/trunk/libf/dyn3d/vlsplt.F90

    r5272 r5281  
    487487END SUBROUTINE vlx
    488488RECURSIVE SUBROUTINE vly(q,pente_max,masse,masse_adv_v,iq)
     489  USE comgeom_mod_h
    489490  USE infotrac, ONLY : nqtot,tracers, & ! CRisi
    490491        min_qParent,min_qMass,min_ratio ! MVals et CRisi
     
    508509
    509510
    510   include "comgeom.h"
    511511  !
    512512  !
  • TabularUnified LMDZ6/trunk/libf/dyn3d/vlspltqs.F90

    r5272 r5281  
    545545END SUBROUTINE vlxqs
    546546SUBROUTINE vlyqs(q,pente_max,masse,masse_adv_v,qsat,iq)
     547  USE comgeom_mod_h
    547548  USE infotrac, ONLY : nqtot,tracers ! CRisi
    548549  !
     
    567568
    568569
    569   include "comgeom.h"
    570570  !
    571571  !
Note: See TracChangeset for help on using the changeset viewer.