Ignore:
Timestamp:
Jul 24, 2024, 2:54:37 PM (4 months ago)
Author:
abarral
Message:

rename modules properly lmdz_*
move ismin, ismax, minmax into new lmdz_libmath.f90
(lint) uppercase fortran keywords

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/Amaury_dev/libf/dyn3dmem/guide_loc_mod.F90

    r5113 r5116  
    66!=======================================================================
    77
    8   USE getparam, only: ini_getparam, fin_getparam, getpar
     8  USE getparam, ONLY: ini_getparam, fin_getparam, getpar
    99  USE Write_Field_loc
    10   use netcdf, only: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
     10  use netcdf, ONLY: nf90_nowrite, nf90_open, nf90_inq_varid, nf90_close, &
    1111          nf90_inq_dimid, nf90_inquire_dimension, nf90_inq_dimid, &
    1212          nf90_inquire_dimension, nf90_enddef, nf90_def_dim, nf90_put_var, nf90_noerr, nf90_close, nf90_inq_varid, &
     
    1414          nf90_create, nf90_def_var, nf90_open
    1515  USE parallel_lmdz
    16   USE pres2lev_mod, only: pres2lev
     16  USE pres2lev_mod, ONLY: pres2lev
    1717
    1818  IMPLICIT NONE
     
    127127    IF (iguide_sav>0) THEN
    128128       iguide_sav=day_step/iguide_sav
    129     ELSE if (iguide_sav == 0) then
     129    ELSE if (iguide_sav == 0) THEN
    130130       iguide_sav = huge(0)
    131131    ELSE
     
    173173! ---------------------------------------------
    174174    ncidpl=-99
    175     if (guide_plevs==1) then
    176        if (ncidpl==-99) then
     175    if (guide_plevs==1) THEN
     176       if (ncidpl==-99) THEN
    177177          rcod=nf90_open('apbp.nc',nf90_nowrite, ncidpl)
    178178          if (rcod/=nf90_noerr) THEN
     
    181181          endif
    182182       endif
    183     elseif (guide_plevs==2) then
    184        if (ncidpl==-99) then
     183    elseif (guide_plevs==2) THEN
     184       if (ncidpl==-99) THEN
    185185          rcod=nf90_open('P.nc',nf90_nowrite,ncidpl)
    186186          if (rcod/=nf90_noerr) THEN
     
    190190       endif
    191191
    192     elseif (guide_u) then
    193        if (ncidpl==-99) then
     192    elseif (guide_u) THEN
     193       if (ncidpl==-99) THEN
    194194          rcod=nf90_open('u.nc',nf90_nowrite,ncidpl)
    195195          if (rcod/=nf90_noerr) THEN
     
    201201
    202202
    203     elseif (guide_v) then
    204        if (ncidpl==-99) then
     203    elseif (guide_v) THEN
     204       if (ncidpl==-99) THEN
    205205          rcod=nf90_open('v.nc',nf90_nowrite,ncidpl)
    206206          if (rcod/=nf90_noerr) THEN
     
    211211
    212212   
    213     elseif (guide_T) then
    214        if (ncidpl==-99) then
     213    elseif (guide_T) THEN
     214       if (ncidpl==-99) THEN
    215215          rcod=nf90_open('T.nc',nf90_nowrite,ncidpl)
    216216          if (rcod/=nf90_noerr) THEN
     
    222222
    223223
    224     elseif (guide_Q) then
    225        if (ncidpl==-99) then
     224    elseif (guide_Q) THEN
     225       if (ncidpl==-99) THEN
    226226          rcod=nf90_open('hur.nc',nf90_nowrite, ncidpl)
    227227          if (rcod/=nf90_noerr) THEN
     
    240240    ENDIF
    241241    error=nf90_inquire_dimension(ncidpl,rid,len=nlevnc)
    242     write(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
     242    WRITE(*,*)trim(modname)//' : number of vertical levels nlevnc', nlevnc
    243243    rcod = nf90_close(ncidpl)
    244244
     
    358358!=======================================================================
    359359  SUBROUTINE guide_main(itau,ucov,vcov,teta,q,masse,ps)
    360     use exner_hyb_loc_m, only: exner_hyb_loc
    361     use exner_milieu_loc_m, only: exner_milieu_loc
     360    use exner_hyb_loc_m, ONLY: exner_hyb_loc
     361    use exner_milieu_loc_m, ONLY: exner_milieu_loc
    362362    USE parallel_lmdz
    363363    USE control_mod
     
    451451        CALL tau2alpha(1, iip1, jjb_u, jje_u, factt, tau_min_Q, tau_max_Q, alpha_Q)
    452452! correction de rappel dans couche limite
    453         if (guide_BL) then
     453        if (guide_BL) THEN
    454454             alpha_pcor(:)=1.
    455455        else
     
    499499      IF (reste==0.) THEN
    500500          IF (itau_test==itau) THEN
    501             write(*,*)trim(modname)//' second pass in advreel at itau=',&
     501            WRITE(*,*)trim(modname)//' second pass in advreel at itau=',&
    502502            itau
    503503            CALL abort_gcm("guide_loc_lod","stopped",1)
     
    514514              step_rea=step_rea+1
    515515              itau_test=itau
    516               if (is_master) then
    517                 write(*,*)trim(modname)//' Reading nudging files, step ',&
     516              if (is_master) THEN
     517                WRITE(*,*)trim(modname)//' Reading nudging files, step ',&
    518518                    step_rea,'after ',count_no_rea,' skips'
    519519              endif
     
    567567
    568568!$OMP BARRIER
    569       if (pressure_exner) then
     569      if (pressure_exner) THEN
    570570      CALL exner_hyb_loc( ijnb_u, ps, p, pks, pk)
    571571      else
     
    588588    ENDIF
    589589   
    590     if (guide_u) then
    591         if (guide_add) then
     590    if (guide_u) THEN
     591        if (guide_add) THEN
    592592!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    593593          DO l=1,llm
     
    620620    endif
    621621
    622     if (guide_T) then
    623         if (guide_add) then
     622    if (guide_T) THEN
     623        if (guide_add) THEN
    624624!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    625625          DO l=1,llm
     
    641641    endif
    642642
    643     if (guide_P) then
    644         if (guide_add) then
     643    if (guide_P) THEN
     644        if (guide_add) THEN
    645645!$OMP MASTER
    646646            f_addu(ijbu:ijeu,1)=(1.-tau)*psgui1(ijbu:ijeu)+tau*psgui2(ijbu:ijeu)
     
    665665    endif
    666666
    667     if (guide_Q) then
    668         if (guide_add) then
     667    if (guide_Q) THEN
     668        if (guide_add) THEN
    669669!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    670670          DO l=1,llm
     
    687687    endif
    688688
    689     if (guide_v) then
    690         if (guide_add) then
     689    if (guide_v) THEN
     690        if (guide_add) THEN
    691691!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
    692692          DO l=1,llm
     
    911911!=======================================================================
    912912  SUBROUTINE guide_interp(psi,teta)
    913     use exner_hyb_loc_m, only: exner_hyb_loc
    914     use exner_milieu_loc_m, only: exner_milieu_loc
     913    use exner_hyb_loc_m, ONLY: exner_hyb_loc
     914    use exner_milieu_loc_m, ONLY: exner_milieu_loc
    915915  USE parallel_lmdz
    916916  USE mod_hallo
     
    952952!$OMP THREADPRIVATE(Req)
    953953   
    954     if (is_master) write(*,*)trim(modname)//': interpolate nudging variables'
     954    if (is_master) WRITE(*,*)trim(modname)//': interpolate nudging variables'
    955955! -----------------------------------------------------------------
    956956! Calcul des niveaux de pression champs guidage (pour T et Q)
     
    994994    ENDIF   
    995995
    996     if (first) then
     996    if (first) THEN
    997997        first=.FALSE.
    998998!$OMP MASTER
    999         write(*,*)trim(modname)//' : check vertical level order'
    1000         write(*,*)trim(modname)//' LMDZ :'
     999        WRITE(*,*)trim(modname)//' : check vertical level order'
     1000        WRITE(*,*)trim(modname)//' LMDZ :'
    10011001        do l=1,llm
    1002           write(*,*)trim(modname)//' PL(',l,')=',(ap(l)+ap(l+1))/2. &
     1002          WRITE(*,*)trim(modname)//' PL(',l,')=',(ap(l)+ap(l+1))/2. &
    10031003                  +psi(1,jjeu)*(bp(l)+bp(l+1))/2.
    10041004        enddo
    1005         write(*,*)trim(modname)//' nudging file :'
     1005        WRITE(*,*)trim(modname)//' nudging file :'
    10061006        SELECT CASE (guide_plevs)
    10071007        CASE (0)
    10081008            do l=1,nlevnc
    1009               write(*,*)trim(modname)//' PL(',l,')=',plnc2(1,jjbu,l)
     1009              WRITE(*,*)trim(modname)//' PL(',l,')=',plnc2(1,jjbu,l)
    10101010            enddo
    10111011        CASE (1)
    10121012            DO l=1,nlevnc
    1013               write(*,*)trim(modname)//' PL(',l,')=',&
     1013              WRITE(*,*)trim(modname)//' PL(',l,')=',&
    10141014                        apnc(l)+bpnc(l)*psnat2(1,jjbu)
    10151015            ENDDO
    10161016        CASE (2)
    10171017            do l=1,nlevnc
    1018               write(*,*)trim(modname)//' PL(',l,')=',pnat2(1,jjbu,l)
     1018              WRITE(*,*)trim(modname)//' PL(',l,')=',pnat2(1,jjbu,l)
    10191019            enddo
    10201020        END SELECT
    1021         write(*,*)trim(modname)//' invert ordering: invert_p=',invert_p
    1022         if (guide_u) then
     1021        WRITE(*,*)trim(modname)//' invert ordering: invert_p=',invert_p
     1022        if (guide_u) THEN
    10231023            do l=1,nlevnc
    1024               write(*,*)trim(modname)//' U(',l,')=',unat2(1,jjbu,l)
     1024              WRITE(*,*)trim(modname)//' U(',l,')=',unat2(1,jjbu,l)
    10251025            enddo
    10261026        endif
    1027         if (guide_T) then
     1027        if (guide_T) THEN
    10281028            do l=1,nlevnc
    1029               write(*,*)trim(modname)//' T(',l,')=',tnat2(1,jjbu,l)
     1029              WRITE(*,*)trim(modname)//' T(',l,')=',tnat2(1,jjbu,l)
    10301030            enddo
    10311031        endif
     
    10341034
    10351035    if (guide_plevs /= 1 .or. guide_t .and. .not. guide_teta &
    1036          .or. guide_q .and. guide_hr) then
     1036         .or. guide_q .and. guide_hr) THEN
    10371037       CALL pression_loc( ijnb_u, ap, bp, psi, p )
    1038        if (disvert_type==1) then
     1038       if (disvert_type==1) THEN
    10391039          CALL exner_hyb_loc(ijnb_u,psi,p,pks,pk)
    10401040       else ! we assume that we are in the disvert_type==2 case
     
    11101110! Conversion en variables gcm (ucov, vcov...)
    11111111! -----------------------------------------------------------------
    1112     if (guide_P) then
     1112    if (guide_P) THEN
    11131113!$OMP MASTER
    11141114        do j=jjbu,jjeu
     
    11771177                tgui2(j*iip1,l)=tgui2((j-1)*iip1+1,l)   
    11781178            enddo
    1179             if (pole_nord) then
     1179            if (pole_nord) THEN
    11801180              do i=1,iip1
    11811181                tgui1(i,l)=tgui1(1,l)
     
    11831183              enddo
    11841184            endif
    1185             if (pole_sud) then
     1185            if (pole_sud) THEN
    11861186              do i=1,iip1
    11871187                tgui1(ip1jm+i,l)=tgui1(ip1jm+1,l)
     
    12391239                qgui2(j*iip1,l)=qgui2((j-1)*iip1+1,l)   
    12401240            enddo
    1241             if (pole_nord) then
     1241            if (pole_nord) THEN
    12421242              do i=1,iip1
    12431243                qgui1(i,l)=qgui1(1,l)
     
    12451245              enddo
    12461246            endif
    1247             if (pole_sud) then
     1247            if (pole_sud) THEN
    12481248              do i=1,iip1
    12491249                qgui1(ip1jm+i,l)=qgui1(ip1jm+1,l)
     
    13171317                ugui2(j*iip1,l)=ugui2((j-1)*iip1+1,l)   
    13181318            enddo
    1319             if (pole_nord) then
     1319            if (pole_nord) THEN
    13201320              do i=1,iip1
    13211321                ugui1(i,l)=0.
     
    13231323              enddo
    13241324            endif
    1325             if (pole_sud) then
     1325            if (pole_sud) THEN
    13261326              do i=1,iip1
    13271327                ugui1(ip1jm+i,l)=0.
     
    14031403! Calcul des constantes de rappel alpha (=1/tau)
    14041404
    1405     use comconst_mod, only: pi
    1406     use serre_mod, only: clat, clon, grossismx, grossismy
     1405    use comconst_mod, ONLY: pi
     1406    use serre_mod, ONLY: clat, clon, grossismx, grossismy
    14071407   
    14081408    IMPLICIT NONE
     
    14311431    real alphamin,alphamax,xi
    14321432    integer i,j,ilon,ilat
    1433     character(len=20),parameter :: modname="tau2alpha"
     1433    CHARACTER(LEN=20),parameter :: modname="tau2alpha"
    14341434
    14351435
     
    14441444            do j=jjb,jje
    14451445                do i=1,pim
    1446                     if (typ==2) then
     1446                    if (typ==2) THEN
    14471447                       zlat=rlatu(j)*180./pi
    14481448                       zlon=rlonu(i)*180./pi
    1449                     elseif (typ==1) then
     1449                    elseif (typ==1) THEN
    14501450                       zlat=rlatu(j)*180./pi
    14511451                       zlon=rlonv(i)*180./pi
    1452                     elseif (typ==3) then
     1452                    elseif (typ==3) THEN
    14531453                       zlat=rlatv(j)*180./pi
    14541454                       zlon=rlonv(i)*180./pi
     
    15191519            enddo
    15201520            ! Calcul de gamma
    1521             if (abs(grossismx-1.)<0.1.or.abs(grossismy-1.)<0.1) then
    1522               write(*,*)trim(modname)//' ATTENTION modele peu zoome'
    1523               write(*,*)trim(modname)//' ATTENTION on prend une constante de guidage cste'
     1521            if (abs(grossismx-1.)<0.1.or.abs(grossismy-1.)<0.1) THEN
     1522              WRITE(*,*)trim(modname)//' ATTENTION modele peu zoome'
     1523              WRITE(*,*)trim(modname)//' ATTENTION on prend une constante de guidage cste'
    15241524              gamma=0.
    15251525            else
    15261526              gamma=(dxdy_max-2.*dxdy_min)/(dxdy_max-dxdy_min)
    1527               write(*,*)trim(modname)//' gamma=',gamma
    1528               if (gamma<1.e-5) then
    1529                 write(*,*)trim(modname)//' gamma =',gamma,'<1e-5'
     1527              WRITE(*,*)trim(modname)//' gamma=',gamma
     1528              if (gamma<1.e-5) THEN
     1529                WRITE(*,*)trim(modname)//' gamma =',gamma,'<1e-5'
    15301530                CALL abort_gcm("guide_loc_mod","stopped",1)
    15311531              endif
    15321532              gamma=log(0.5)/log(gamma)
    1533               if (gamma4) then
     1533              if (gamma4) THEN
    15341534                gamma=min(gamma,4.)
    15351535              endif
    1536               write(*,*)trim(modname)//' gamma=',gamma
     1536              WRITE(*,*)trim(modname)//' gamma=',gamma
    15371537            endif
    15381538        ENDIF !first
     
    15401540        do j=jjb,jje
    15411541            do i=1,pim
    1542                 if (typ==1) then
     1542                if (typ==1) THEN
    15431543                   dxdy_=dxdys(i,j)
    15441544                   zlat=rlatu(j)*180./pi
    1545                 elseif (typ==2) then
     1545                elseif (typ==2) THEN
    15461546                   dxdy_=dxdyu(i,j)
    15471547                   zlat=rlatu(j)*180./pi
    1548                 elseif (typ==3) then
     1548                elseif (typ==3) THEN
    15491549                   dxdy_=dxdyv(i,j)
    15501550                   zlat=rlatv(j)*180./pi
    15511551                endif
    1552                 if (abs(grossismx-1.)<0.1.or.abs(grossismy-1.)<0.1) then
     1552                if (abs(grossismx-1.)<0.1.or.abs(grossismy-1.)<0.1) THEN
    15531553                ! pour une grille reguliere, xi=xxx**0=1 -> alpha=alphamin
    15541554                    alpha(i,j)=alphamin
     
    15561556                    xi=((dxdy_max-dxdy_)/(dxdy_max-dxdy_min))**gamma
    15571557                    xi=min(xi,1.)
    1558                     if(lat_min_g<=zlat .and. zlat<=lat_max_g) then
     1558                    IF(lat_min_g<=zlat .and. zlat<=lat_max_g) THEN
    15591559                        alpha(i,j)=xi*alphamin+(1.-xi)*alphamax
    15601560                    else
     
    15961596! Premier appel: initialisation de la lecture des fichiers
    15971597! -----------------------------------------------------------------
    1598     if (first) then
     1598    if (first) THEN
    15991599         ncidpl=-99
    1600          write(*,*) trim(modname)//': opening nudging files '
     1600         WRITE(*,*) trim(modname)//': opening nudging files '
    16011601! Ap et Bp si Niveaux de pression hybrides
    1602          if (guide_plevs==1) then
    1603              write(*,*) trim(modname)//' Reading nudging on model levels'
     1602         if (guide_plevs==1) THEN
     1603             WRITE(*,*) trim(modname)//' Reading nudging on model levels'
    16041604             rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
    16051605             IF (rcode/=nf90_noerr) THEN
     
    16171617              CALL abort_gcm(modname,abort_message,1)
    16181618             ENDIF
    1619              write(*,*) trim(modname)//' ncidpl,varidap',ncidpl,varidap
     1619             WRITE(*,*) trim(modname)//' ncidpl,varidap',ncidpl,varidap
    16201620         endif
    16211621         
    16221622! Pression si guidage sur niveaux P variables
    1623          if (guide_plevs==2) then
     1623         if (guide_plevs==2) THEN
    16241624             rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
    16251625             IF (rcode/=nf90_noerr) THEN
     
    16321632              CALL abort_gcm(modname,abort_message,1)
    16331633             ENDIF
    1634              write(*,*) trim(modname)//' ncidp,varidp',ncidp,varidp
     1634             WRITE(*,*) trim(modname)//' ncidp,varidp',ncidp,varidp
    16351635             if (ncidpl==-99) ncidpl=ncidp
    16361636         endif
    16371637
    16381638! Vent zonal
    1639          if (guide_u) then
     1639         if (guide_u) THEN
    16401640             rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
    16411641             IF (rcode/=nf90_noerr) THEN
     
    16481648              CALL abort_gcm(modname,abort_message,1)
    16491649             ENDIF
    1650              write(*,*) trim(modname)//' ncidu,varidu',ncidu,varidu
     1650             WRITE(*,*) trim(modname)//' ncidu,varidu',ncidu,varidu
    16511651             if (ncidpl==-99) ncidpl=ncidu
    16521652
     
    16691669
    16701670! Vent meridien
    1671          if (guide_v) then
     1671         if (guide_v) THEN
    16721672             rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
    16731673             IF (rcode/=nf90_noerr) THEN
     
    16801680              CALL abort_gcm(modname,abort_message,1)
    16811681             ENDIF
    1682              write(*,*) trim(modname)//' ncidv,varidv',ncidv,varidv
     1682             WRITE(*,*) trim(modname)//' ncidv,varidv',ncidv,varidv
    16831683             if (ncidpl==-99) ncidpl=ncidv
    16841684             
     
    17021702
    17031703! Temperature
    1704          if (guide_T) then
     1704         if (guide_T) THEN
    17051705             rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
    17061706             IF (rcode/=nf90_noerr) THEN
     
    17131713              CALL abort_gcm(modname,abort_message,1)
    17141714             ENDIF
    1715              write(*,*) trim(modname)//' ncidT,varidT',ncidt,varidt
     1715             WRITE(*,*) trim(modname)//' ncidT,varidT',ncidt,varidt
    17161716             if (ncidpl==-99) ncidpl=ncidt
    17171717
     
    17331733
    17341734! Humidite
    1735          if (guide_Q) then
     1735         if (guide_Q) THEN
    17361736             rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
    17371737             IF (rcode/=nf90_noerr) THEN
     
    17441744              CALL abort_gcm(modname,abort_message,1)
    17451745             ENDIF
    1746              write(*,*) trim(modname)//' ncidQ,varidQ',ncidQ,varidQ
     1746             WRITE(*,*) trim(modname)//' ncidQ,varidQ',ncidQ,varidQ
    17471747             if (ncidpl==-99) ncidpl=ncidQ
    17481748
     
    17651765         endif
    17661766! Pression de surface
    1767          if ((guide_P).OR.(guide_plevs==1)) then
     1767         if ((guide_P).OR.(guide_plevs==1)) THEN
    17681768             rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
    17691769             IF (rcode/=nf90_noerr) THEN
     
    17761776              CALL abort_gcm(modname,abort_message,1)
    17771777             ENDIF
    1778              write(*,*) trim(modname)//' ncidps,varidps',ncidps,varidps
     1778             WRITE(*,*) trim(modname)//' ncidps,varidps',ncidps,varidps
    17791779         endif
    17801780! Coordonnee verticale
    1781          if (guide_plevs==0) then
     1781         if (guide_plevs==0) THEN
    17821782              rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
    17831783              IF (rcode/=0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    1784               write(*,*) trim(modname)//' ncidpl,varidpl',ncidpl,varidpl
     1784              WRITE(*,*) trim(modname)//' ncidpl,varidpl',ncidpl,varidpl
    17851785         endif
    17861786! Coefs ap, bp pour calcul de la pression aux differents niveaux
     
    18141814     IF (invert_y) start(2)=jjp1-jje_u+1
    18151815! Pression
    1816      if (guide_plevs==2) then
     1816     if (guide_plevs==2) THEN
    18171817         status=nf90_put_var(ncidp,varidp,pnat2,start,count)
    18181818         IF (invert_y) THEN
     
    18241824
    18251825!  Vent zonal
    1826      if (guide_u) then
     1826     if (guide_u) THEN
    18271827         status=nf90_put_var(ncidu,varidu,unat2,start,count)
    18281828         IF (invert_y) THEN
     
    18361836
    18371837!  Temperature
    1838      if (guide_T) then
     1838     if (guide_T) THEN
    18391839         status=nf90_put_var(ncidt,varidt,tnat2,start,count)
    18401840         IF (invert_y) THEN
     
    18461846
    18471847!  Humidite
    1848      if (guide_Q) then
     1848     if (guide_Q) THEN
    18491849         status=nf90_put_var(ncidQ,varidQ,qnat2,start,count)
    18501850         IF (invert_y) THEN
     
    18571857
    18581858!  Vent meridien
    1859      if (guide_v) then
     1859     if (guide_v) THEN
    18601860         start(2)=jjb_v
    18611861         count(2)=jjnb_v
     
    18711871
    18721872!  Pression de surface
    1873      if ((guide_P).OR.(guide_plevs==1))  then
     1873     if ((guide_P).OR.(guide_plevs==1))  THEN
    18741874         start(2)=jjb_u
    18751875         start(3)=timestep
     
    19181918! Premier appel: initialisation de la lecture des fichiers
    19191919! -----------------------------------------------------------------
    1920     if (first) then
     1920    if (first) THEN
    19211921         ncidpl=-99
    1922          write(*,*)trim(modname)//' : opening nudging files '
     1922         WRITE(*,*)trim(modname)//' : opening nudging files '
    19231923! Ap et Bp si niveaux de pression hybrides
    1924          if (guide_plevs==1) then
    1925            write(*,*)trim(modname)//' Reading nudging on model levels'
     1924         if (guide_plevs==1) THEN
     1925           WRITE(*,*)trim(modname)//' Reading nudging on model levels'
    19261926           rcode = nf90_open('apbp.nc', nf90_nowrite, ncidpl)
    19271927           IF (rcode/=nf90_noerr) THEN
     
    19391939             CALL abort_gcm(modname,abort_message,1)
    19401940           ENDIF
    1941            write(*,*)trim(modname)//'ncidpl,varidap',ncidpl,varidap
     1941           WRITE(*,*)trim(modname)//'ncidpl,varidap',ncidpl,varidap
    19421942         endif
    19431943! Pression
    1944          if (guide_plevs==2) then
     1944         if (guide_plevs==2) THEN
    19451945           rcode = nf90_open('P.nc', nf90_nowrite, ncidp)
    19461946           IF (rcode/=nf90_noerr) THEN
     
    19531953             CALL abort_gcm(modname,abort_message,1)
    19541954           ENDIF
    1955            write(*,*)trim(modname)//' ncidp,varidp',ncidp,varidp
     1955           WRITE(*,*)trim(modname)//' ncidp,varidp',ncidp,varidp
    19561956           if (ncidpl==-99) ncidpl=ncidp
    19571957         endif
    19581958! Vent zonal
    1959          if (guide_u) then
     1959         if (guide_u) THEN
    19601960           rcode = nf90_open('u.nc', nf90_nowrite, ncidu)
    19611961           IF (rcode/=nf90_noerr) THEN
     
    19681968             CALL abort_gcm(modname,abort_message,1)
    19691969           ENDIF
    1970            write(*,*)trim(modname)//' ncidu,varidu',ncidu,varidu
     1970           WRITE(*,*)trim(modname)//' ncidu,varidu',ncidu,varidu
    19711971           if (ncidpl==-99) ncidpl=ncidu
    19721972         endif
    19731973
    19741974! Vent meridien
    1975          if (guide_v) then
     1975         if (guide_v) THEN
    19761976           rcode = nf90_open('v.nc', nf90_nowrite, ncidv)
    19771977           IF (rcode/=nf90_noerr) THEN
     
    19841984             CALL abort_gcm(modname,abort_message,1)
    19851985           ENDIF
    1986            write(*,*)trim(modname)//' ncidv,varidv',ncidv,varidv
     1986           WRITE(*,*)trim(modname)//' ncidv,varidv',ncidv,varidv
    19871987           if (ncidpl==-99) ncidpl=ncidv
    19881988        endif
    19891989! Temperature
    1990          if (guide_T) then
     1990         if (guide_T) THEN
    19911991           rcode = nf90_open('T.nc', nf90_nowrite, ncidt)
    19921992           IF (rcode/=nf90_noerr) THEN
     
    19991999             CALL abort_gcm(modname,abort_message,1)
    20002000           ENDIF
    2001            write(*,*)trim(modname)//' ncidT,varidT',ncidt,varidt
     2001           WRITE(*,*)trim(modname)//' ncidT,varidT',ncidt,varidt
    20022002           if (ncidpl==-99) ncidpl=ncidt
    20032003         endif
    20042004! Humidite
    2005          if (guide_Q) then
     2005         if (guide_Q) THEN
    20062006           rcode = nf90_open('hur.nc', nf90_nowrite, ncidQ)
    20072007           IF (rcode/=nf90_noerr) THEN
     
    20142014             CALL abort_gcm(modname,abort_message,1)
    20152015           ENDIF
    2016            write(*,*)trim(modname)//' ncidQ,varidQ',ncidQ,varidQ
     2016           WRITE(*,*)trim(modname)//' ncidQ,varidQ',ncidQ,varidQ
    20172017           if (ncidpl==-99) ncidpl=ncidQ
    20182018         endif
    20192019! Pression de surface
    2020          if ((guide_P).OR.(guide_plevs==1)) then
     2020         if ((guide_P).OR.(guide_plevs==1)) THEN
    20212021           rcode = nf90_open('ps.nc', nf90_nowrite, ncidps)
    20222022           IF (rcode/=nf90_noerr) THEN
     
    20292029             CALL abort_gcm(modname,abort_message,1)
    20302030           ENDIF
    2031            write(*,*)trim(modname)//' ncidps,varidps',ncidps,varidps
     2031           WRITE(*,*)trim(modname)//' ncidps,varidps',ncidps,varidps
    20322032         endif
    20332033! Coordonnee verticale
    2034          if (guide_plevs==0) then
     2034         if (guide_plevs==0) THEN
    20352035           rcode = nf90_inq_varid(ncidpl, 'LEVEL', varidpl)
    20362036           IF (rcode/=0) rcode = nf90_inq_varid(ncidpl, 'PRESSURE', varidpl)
    2037            write(*,*)trim(modname)//' ncidpl,varidpl',ncidpl,varidpl
     2037           WRITE(*,*)trim(modname)//' ncidpl,varidpl',ncidpl,varidpl
    20382038         endif
    20392039! Coefs ap, bp pour calcul de la pression aux differents niveaux
    2040          if (guide_plevs==1) then
     2040         if (guide_plevs==1) THEN
    20412041             status=nf90_put_var(ncidpl,varidap,apnc,[1],[nlevnc])
    20422042             status=nf90_put_var(ncidpl,varidbp,bpnc,[1],[nlevnc])
     
    20662066     IF (invert_y) start(2)=jjp1-jje_u+1
    20672067!  Pression
    2068      if (guide_plevs==2) then
     2068     if (guide_plevs==2) THEN
    20692069         status=nf90_put_var(ncidp,varidp,zu,start,count)
    20702070         DO i=1,iip1
     
    20792079     endif
    20802080!  Vent zonal
    2081      if (guide_u) then
     2081     if (guide_u) THEN
    20822082         status=nf90_put_var(ncidu,varidu,zu,start,count)
    20832083         DO i=1,iip1
     
    20942094
    20952095!  Temperature
    2096      if (guide_T) then
     2096     if (guide_T) THEN
    20972097         status=nf90_put_var(ncidt,varidt,zu,start,count)
    20982098         DO i=1,iip1
     
    21082108
    21092109!  Humidite
    2110      if (guide_Q) then
     2110     if (guide_Q) THEN
    21112111         status=nf90_put_var(ncidQ,varidQ,zu,start,count)
    21122112         DO i=1,iip1
     
    21222122
    21232123!  Vent meridien
    2124      if (guide_v) then
     2124     if (guide_v) THEN
    21252125         start(2)=jjb_v
    21262126         count(2)=jjnb_v
     
    21402140
    21412141!  Pression de surface
    2142      if ((guide_P).OR.(guide_plevs==1))  then
     2142     if ((guide_P).OR.(guide_plevs==1))  THEN
    21432143         start(2)=jjb_u
    21442144         start(3)=timestep
     
    21682168    USE comconst_mod, ONLY: pi
    21692169    USE comvert_mod, ONLY: presnivs
    2170     use netcdf95, only: nf95_def_var, nf95_put_var
     2170    use netcdf95, ONLY: nf95_def_var, nf95_put_var
    21712171
    21722172    IMPLICIT NONE
     
    22012201!$OMP BARRIER
    22022202
    2203 !    write(*,*)trim(modname)//' after allocation ',hsize,vsize
     2203!    WRITE(*,*)trim(modname)//' after allocation ',hsize,vsize
    22042204
    22052205    IF (hsize==jjp1) THEN
     
    22092209    ENDIF
    22102210
    2211 !    write(*,*)trim(modname)//' after gather '
     2211!    WRITE(*,*)trim(modname)//' after gather '
    22122212    CALL Gather_field_u(alpha_u,zu,1)
    22132213    CALL Gather_field_u(alpha_t,zt,1)
     
    23482348    END SELECT
    23492349
    2350 !    if (varname=="ua") then
     2350!    if (varname=="ua") THEN
    23512351!    CALL dump2d(iip1,jjp1,field_glo,'ua gui1 1ere couche ')
    23522352!    CALL dump2d(iip1,jjp1,field_glo(:,:,llm),'ua gui1 llm ')
     
    23742374    do l=1,nl
    23752375        do i=2,iim-1
    2376             if(abs(x(i,l))>1.e10) then
     2376            IF(abs(x(i,l))>1.e10) THEN
    23772377               zz=0.5*(x(i-1,l)+x(i+1,l))
    23782378              PRINT*,'correction ',i,l,x(i,l),zz
     
    24092409    CALL barrier
    24102410
    2411     if (mpi_rank==0) then
     2411    if (mpi_rank==0) THEN
    24122412       CALL dump2d(iip1,jjp1,var_glob,varname)
    24132413    endif
Note: See TracChangeset for help on using the changeset viewer.