Changeset 5113 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common
- Timestamp:
- Jul 24, 2024, 1:17:08 PM (4 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dyn3d_common
- Files:
-
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/com_io_dyn_mod.F90
r5099 r5113 4 4 module com_io_dyn_mod 5 5 6 implicit none6 IMPLICIT NONE 7 7 8 8 ! Names of various files for outputs (in the dynamics) -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/conf_dat_m.F90
r5099 r5113 24 24 ! * interbar is TRUE for barycentric interpolation. 25 25 !------------------------------------------------------------------------------- 26 USE assert_eq_m, ONLY: assert_eq26 USE lmdz_assert_eq, ONLY: assert_eq 27 27 IMPLICIT NONE 28 28 !------------------------------------------------------------------------------- … … 128 128 ! * interbar is TRUE for barycentric interpolation. 129 129 !------------------------------------------------------------------------------- 130 USE assert_eq_m, ONLY: assert_eq130 USE lmdz_assert_eq, ONLY: assert_eq 131 131 IMPLICIT NONE 132 132 !------------------------------------------------------------------------------- -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/disvert.F90
r5103 r5113 5 5 use ioipsl, only: getin 6 6 use new_unit_m, only: new_unit 7 use assert_m, only: assert7 use lmdz_assert, only: assert 8 8 USE comvert_mod, ONLY: ap, bp, aps, bps, nivsigs, nivsig, dpres, presnivs, & 9 9 pseudoalt, pa, preff, scaleheight, presinter -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/disvert_noterre.f90
r5105 r5113 295 295 296 296 297 implicit none297 IMPLICIT NONE 298 298 real :: x1, x2, sig,pa,preff, newsig, F 299 299 integer :: j -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/fxhyp_m.F90
r5101 r5113 18 18 ! 1., taux=0., clon=0.) est à - 180 degrés. 19 19 20 use arth_m, only: arth20 use lmdz_arth, only: arth 21 21 use invert_zoom_x_m, only: invert_zoom_x, nmax 22 22 use nrtype, only: pi, pi_d, twopi, twopi_d, k8 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/gr_int_dyn.f90
r5105 r5113 3 3 4 4 SUBROUTINE gr_int_dyn(champin,champdyn,iim,jp1) 5 implicit none5 IMPLICIT NONE 6 6 !======================================================================= 7 7 ! passage d'un champ interpole a un champ sur grille scalaire -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inigrads.f90
r5105 r5113 5 5 , dt, file, titlel) 6 6 7 implicit none7 IMPLICIT NONE 8 8 9 9 integer :: if, im, jm, lm, i, j, l -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/initdynav.F90
r5103 r5113 11 11 USE temps_mod, ONLY: itau_dyn 12 12 13 implicit none13 IMPLICIT NONE 14 14 15 15 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/initfluxsto.f90
r5105 r5113 11 11 USE temps_mod, ONLY: annee_ref, day_ref, itau_dyn 12 12 13 implicit none13 IMPLICIT NONE 14 14 15 15 ! -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inithist.F90
r5103 r5113 11 11 USE temps_mod, ONLY: itau_dyn 12 12 13 implicit none13 IMPLICIT NONE 14 14 15 15 ! -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/inter_barxy_m.F90
r5101 r5113 6 6 ! Authors: Robert SADOURNY, Phu LE VAN, Lionel GUEZ 7 7 8 implicit none9 10 private8 IMPLICIT NONE 9 10 PRIVATE 11 11 public inter_barxy 12 12 … … 15 15 SUBROUTINE inter_barxy(dlonid, dlatid, champ, rlonimod, rlatimod, champint) 16 16 17 use assert_eq_m, only: assert_eq18 use assert_m, only: assert17 use lmdz_assert_eq, only: assert_eq 18 use lmdz_assert, only: assert 19 19 20 20 include "dimensions.h" … … 117 117 ! ( Les abscisses sont exprimees en degres) 118 118 119 use assert_eq_m, only: assert_eq119 use lmdz_assert_eq, only: assert_eq 120 120 121 121 IMPLICIT NONE … … 299 299 ! L'indice 1 correspond à l'interface maille 1 -- maille 2. 300 300 301 use assert_m, only: assert301 use lmdz_assert, only: assert 302 302 303 303 IMPLICIT NONE … … 373 373 ! Finally, the procedure adds 90° as the last value of the array. 374 374 375 use assert_eq_m, only: assert_eq375 use lmdz_assert_eq, only: assert_eq 376 376 use comconst_mod, only: pi 377 377 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/interpost.f90
r5105 r5113 4 4 SUBROUTINE interpost(q,qppm) 5 5 6 implicit none6 IMPLICIT NONE 7 7 8 8 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/interpre.f90
r5105 r5113 9 9 USE comvert_mod, ONLY: ap, bp 10 10 11 implicit none11 IMPLICIT NONE 12 12 13 13 include "dimensions.h" -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/invert_zoom_x_m.F90
r5103 r5113 1 1 module invert_zoom_x_m 2 2 3 implicit none3 IMPLICIT NONE 4 4 5 5 INTEGER, PARAMETER:: nmax = 30000 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/iso_verif_dyn.f90
r5105 r5113 1 1 function iso_verif_noNaN_nostop(x,err_msg) 2 implicit none3 ! !si x est NaN, on affiche message4 ! !d'erreur et return 1 si erreur2 IMPLICIT NONE 3 ! si x est NaN, on affiche message 4 ! d'erreur et return 1 si erreur 5 5 6 ! !input:6 ! input: 7 7 real :: x 8 8 character(len=*) :: err_msg ! message d''erreur à afficher 9 9 10 ! !output10 ! output 11 11 real :: borne 12 12 parameter (borne=1e19) … … 27 27 function iso_verif_egalite_nostop & 28 28 (a,b,err_msg) 29 implicit none30 ! !compare a et b. Si pas egal, on affiche message31 ! !d'erreur et stoppe32 ! !pour egalite, on verifie erreur absolue et arreur relative29 IMPLICIT NONE 30 ! compare a et b. Si pas egal, on affiche message 31 ! d'erreur et stoppe 32 ! pour egalite, on verifie erreur absolue et arreur relative 33 33 34 ! !input:34 ! input: 35 35 real :: a, b 36 36 character(len=*) :: err_msg ! message d''erreur à afficher 37 37 38 ! !locals38 ! locals 39 39 real :: errmax ! erreur maximale en absolu. 40 40 real :: errmaxrel ! erreur maximale en relatif autorisée … … 42 42 parameter (errmaxrel=1e-3) 43 43 44 ! !output44 ! output 45 45 integer :: iso_verif_egalite_nostop 46 46 … … 65 65 (x,iso,q,err_msg) 66 66 USE infotrac, ONLY: isoName, getKey 67 implicit none67 IMPLICIT NONE 68 68 69 ! !input:69 ! input: 70 70 real :: x,q 71 71 integer :: iso ! 2=HDO, 1=O18 72 72 character(len=*) :: err_msg ! message d''erreur à afficher 73 73 74 ! !locals74 ! locals 75 75 real :: qmin,deltaD 76 76 real :: deltaDmax,deltaDmin,tnat … … 78 78 parameter (deltaDmax=200.0,deltaDmin=-999.9) 79 79 80 ! !output80 ! output 81 81 integer :: iso_verif_aberrant_nostop 82 82 83 83 iso_verif_aberrant_nostop=0 84 84 85 ! !verifier que HDO est raisonable85 ! verifier que HDO est raisonable 86 86 if (q>qmin) then 87 87 IF(getKey('tnat', tnat, isoName(iso))) THEN -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/ppm3d.f90
r5106 r5113 65 65 JNP,j1,NLAY,AP,BP,PT,AE,fill,dum,Umax) 66 66 67 implicit none67 IMPLICIT NONE 68 68 69 69 ! rajout de déclarations … … 791 791 SUBROUTINE FZPPM(IMR,JNP,NLAY,j1,DQ,WZ,P,DC,DQDT,AR,AL,A6, & 792 792 flux,wk1,wk2,wz2,delp,KORD) 793 implicit none793 IMPLICIT NONE 794 794 integer,parameter :: kmax = 150 795 795 real,parameter :: R23 = 2./3., R3 = 1./3. … … 966 966 SUBROUTINE xtp(IMR,JNP,IML,j1,j2,JN,JS,PU,DQ,Q,UC, & 967 967 fx1,xmass,IORD) 968 implicit none968 IMPLICIT NONE 969 969 integer :: IMR,JNP,IML,j1,j2,JN,JS,IORD 970 970 real :: PU,DQ,Q,UC,fx1,xmass … … 1088 1088 ! 1089 1089 SUBROUTINE fxppm(IMR,IML,UT,P,DC,flux,IORD) 1090 implicit none1090 IMPLICIT NONE 1091 1091 integer :: IMR,IML,IORD 1092 1092 real :: UT,P,DC,flux … … 1151 1151 ! 1152 1152 SUBROUTINE xmist(IMR,IML,P,DC) 1153 implicit none1153 IMPLICIT NONE 1154 1154 integer :: IMR,IML 1155 1155 real,parameter :: R24 = 1./24. … … 1169 1169 SUBROUTINE ytp(IMR,JNP,j1,j2,acosp,RCAP,DQ,P,VC,DC2 & 1170 1170 ,ymass,fx,A6,AR,AL,JORD) 1171 implicit none1171 IMPLICIT NONE 1172 1172 integer :: IMR,JNP,j1,j2,JORD 1173 1173 real :: acosp,RCAP,DQ,P,VC,DC2,ymass,fx,A6,AR,AL … … 1239 1239 ! 1240 1240 subroutine ymist(IMR,JNP,j1,P,DC,ID) 1241 implicit none1241 IMPLICIT NONE 1242 1242 integer :: IMR,JNP,j1,ID 1243 1243 real,parameter :: R24 = 1./24. … … 1321 1321 ! 1322 1322 SUBROUTINE fyppm(VC,P,DC,flux,IMR,JNP,j1,j2,A6,AR,AL,JORD) 1323 implicit none1323 IMPLICIT NONE 1324 1324 integer :: IMR,JNP,j1,j2,JORD 1325 1325 real,parameter :: R3 = 1./3., R23 = 2./3. … … 1401 1401 ! 1402 1402 SUBROUTINE yadv(IMR,JNP,j1,j2,p,VA,ady,wk,IAD) 1403 implicit none1403 IMPLICIT NONE 1404 1404 integer :: IMR,JNP,j1,j2,IAD 1405 1405 REAL :: p(IMR,JNP),ady(IMR,JNP),VA(IMR,JNP) … … 1491 1491 ! 1492 1492 SUBROUTINE xadv(IMR,JNP,j1,j2,p,UA,JS,JN,IML,adx,IAD) 1493 implicit none1493 IMPLICIT NONE 1494 1494 INTEGER :: IMR,JNP,j1,j2,JS,JN,IML,IAD 1495 1495 REAL :: p(IMR,JNP),adx(IMR,JNP),qtmp(-IMR:IMR+IMR),UA(IMR,JNP) … … 1584 1584 ! 1585 1585 SUBROUTINE lmtppm(DC,A6,AR,AL,P,IM,LMT) 1586 implicit none1586 IMPLICIT NONE 1587 1587 ! 1588 1588 ! A6 = CURVATURE OF THE TEST PARABOLA … … 1665 1665 ! 1666 1666 SUBROUTINE A2C(U,V,IMR,JMR,j1,j2,CRX,CRY,dtdx5,DTDY5) 1667 implicit none1667 IMPLICIT NONE 1668 1668 integer :: IMR,JMR,j1,j2 1669 1669 real :: U(IMR,*),V(IMR,*),CRX(IMR,*),CRY(IMR,*),DTDX5(*),DTDY5 … … 1687 1687 ! 1688 1688 SUBROUTINE cosa(cosp,cose,JNP,PI,DP) 1689 implicit none1689 IMPLICIT NONE 1690 1690 integer :: JNP 1691 1691 real :: cosp(*),cose(*),PI,DP … … 1720 1720 ! 1721 1721 SUBROUTINE cosc(cosp,cose,JNP,PI,DP) 1722 implicit none1722 IMPLICIT NONE 1723 1723 integer :: JNP 1724 1724 real :: cosp(*),cose(*),PI,DP … … 1853 1853 ! 1854 1854 SUBROUTINE filcr(q,IMR,JNP,j1,j2,cosp,acosp,icr,tiny) 1855 implicit none1855 IMPLICIT NONE 1856 1856 integer :: IMR,JNP,j1,j2,icr 1857 1857 real :: q(IMR,*),cosp(*),acosp(*),tiny … … 1956 1956 ! 1957 1957 SUBROUTINE filns(q,IMR,JNP,j1,j2,cosp,acosp,ipy,tiny) 1958 implicit none1958 IMPLICIT NONE 1959 1959 integer :: IMR,JNP,j1,j2,ipy 1960 1960 real :: q(IMR,*),cosp(*),acosp(*),tiny … … 2043 2043 ! 2044 2044 SUBROUTINE filew(q,qtmp,IMR,JNP,j1,j2,ipx,tiny) 2045 implicit none2045 IMPLICIT NONE 2046 2046 integer :: IMR,JNP,j1,j2,ipx 2047 2047 real :: q(IMR,*),qtmp(JNP,IMR),tiny … … 2125 2125 ! 2126 2126 SUBROUTINE zflip(q,im,km,nc) 2127 implicit none2127 IMPLICIT NONE 2128 2128 ! This routine flip the array q (in the vertical). 2129 2129 integer :: im,km,nc -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/principal_cshift_m.F90
r5103 r5113 1 1 module principal_cshift_m 2 2 3 implicit none3 IMPLICIT NONE 4 4 5 5 contains -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/sortvarc.f90
r5106 r5113 160 160 END IF 161 161 162 ! !compute relative changes in etot,... (except if 'reference' values163 ! !are zero, which can happen when using iniacademic)162 ! compute relative changes in etot,... (except if 'reference' values 163 ! are zero, which can happen when using iniacademic) 164 164 if (etot0/=0) then 165 165 etot= etot/etot0 -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/traceurpole.f90
r5105 r5113 4 4 SUBROUTINE traceurpole(q,masse) 5 5 6 implicit none6 IMPLICIT NONE 7 7 8 8 include "dimensions.h" -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/ugeostr.F90
r5103 r5113 13 13 use comconst_mod, only: omeg, rad 14 14 15 implicit none15 IMPLICIT NONE 16 16 17 17 include "dimensions.h" -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/writedynav.F90
r5103 r5113 9 9 USE temps_mod, ONLY: itau_dyn 10 10 11 implicit none11 IMPLICIT NONE 12 12 13 13 ! Ecriture du fichier histoire au format IOIPSL -
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/writehist.f90
r5105 r5113 9 9 USE temps_mod, ONLY: itau_dyn 10 10 11 implicit none11 IMPLICIT NONE 12 12 13 13 !
Note: See TracChangeset
for help on using the changeset viewer.