Changeset 2160 for LMDZ5/branches/testing/libf/dyn3d
- Timestamp:
- Nov 28, 2014, 4:36:29 PM (10 years ago)
- Location:
- LMDZ5/branches/testing
- Files:
-
- 1 deleted
- 7 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/testing
- Property svn:mergeinfo changed
/LMDZ5/trunk merged: 2072,2075-2115,2117-2126,2128-2158
- Property svn:mergeinfo changed
-
LMDZ5/branches/testing/libf/dyn3d/abort_gcm.F
r1910 r2160 28 28 C ierr = severity of situation ( = 0 normal ) 29 29 30 character(len=*) modname31 integer ierr32 character(len=*) message30 character(len=*), intent(in):: modname 31 integer, intent(in):: ierr 32 character(len=*), intent(in):: message 33 33 34 34 write(lunout,*) 'in abort_gcm' … … 54 54 stop 55 55 else 56 write(lunout,*) 'Houston, we have a problem ', ierr56 write(lunout,*) 'Houston, we have a problem, ierr = ', ierr 57 57 stop 1 58 58 endif -
LMDZ5/branches/testing/libf/dyn3d/gcm.F
r2056 r2160 178 178 !#ifdef CPP_IOIPSL 179 179 CALL conf_gcm( 99, .TRUE. , clesphy0 ) 180 if (mod(iphysiq, iperiod) /= 0) call abort_gcm("conf_gcm", 181 s "iphysiq must be a multiple of iperiod", 1) 180 182 !#else 181 183 ! CALL defrun( 99, .TRUE. , clesphy0 ) -
LMDZ5/branches/testing/libf/dyn3d/getparam.F90
r1910 r2160 11 11 12 12 INTERFACE getpar 13 MODULE PROCEDURE ini_getparam,fin_getparam,getparamr,getparami,getparaml13 MODULE PROCEDURE getparamr,getparami,getparaml 14 14 END INTERFACE 15 private getparamr,getparami,getparaml 15 16 16 17 INTEGER, PARAMETER :: out_eff=99 -
LMDZ5/branches/testing/libf/dyn3d/guide_mod.F90
r2056 r2160 71 71 INCLUDE "netcdf.inc" 72 72 73 ! For grossismx: 74 include "serre.h" 75 73 76 INTEGER :: error,ncidpl,rid,rcod 74 77 CHARACTER (len = 80) :: abort_message … … 89 92 CALL getpar('guide_add',.false.,guide_add,'for�age constant?') 90 93 CALL getpar('guide_zon',.false.,guide_zon,'guidage moy zonale') 94 if (guide_zon .and. abs(grossismx - 1.) > 0.01) & 95 call abort_gcm("guide_init", & 96 "zonal nudging requires grid regular in longitude", 1) 91 97 92 98 ! Constantes de rappel. Unite : fraction de jour … … 109 115 ! frequences f>0: fx/jour; f<0: tous les f jours; f=0: 1 seule fois. 110 116 IF (iguide_sav.GT.0) THEN 111 iguide_sav=day_step/iguide_sav 117 iguide_sav=day_step/iguide_sav 118 ELSE if (iguide_sav == 0) then 119 iguide_sav = huge(0) 112 120 ELSE 113 121 iguide_sav=day_step*iguide_sav 114 122 ENDIF 115 123 … … 125 133 ! Parametres pour lecture des fichiers 126 134 CALL getpar('iguide_read',4,iguide_read,'freq. lecture guidage') 127 CALL getpar('iguide_int',4,iguide_int,'freq. lecture guidage') 128 IF (iguide_int.GT.0) THEN 135 CALL getpar('iguide_int',4,iguide_int,'freq. interpolation vert') 136 IF (iguide_int.EQ.0) THEN 137 iguide_int=1 138 ELSEIF (iguide_int.GT.0) THEN 129 139 iguide_int=day_step/iguide_int 130 140 ELSE … … 1002 1012 enddo 1003 1013 ENDIF ! guide_reg 1014 1015 if (.not. guide_add) alpha = 1. - exp(- alpha) 1004 1016 1005 1017 END SUBROUTINE tau2alpha -
LMDZ5/branches/testing/libf/dyn3d/iniacademic.F90
r2056 r2160 4 4 SUBROUTINE iniacademic(vcov,ucov,teta,q,masse,ps,phis,time_0) 5 5 6 USE filtreg_mod 6 USE filtreg_mod, ONLY: inifilr 7 7 USE infotrac, ONLY : nqtot 8 8 USE control_mod, ONLY: day_step,planet_type 9 9 #ifdef CPP_IOIPSL 10 USE IOIPSL 10 USE IOIPSL, ONLY: getin 11 11 #else 12 12 ! if not using IOIPSL, we still need to use (a local version of) getin 13 USE ioipsl_getincom 13 USE ioipsl_getincom, ONLY: getin 14 14 #endif 15 15 USE Write_Field … … 40 40 ! ---------- 41 41 42 real time_0 43 44 ! variables dynamiques 45 REAL vcov(ip1jm,llm),ucov(ip1jmp1,llm) ! vents covariants 46 REAL teta(ip1jmp1,llm) ! temperature potentielle 47 REAL q(ip1jmp1,llm,nqtot) ! champs advectes 48 REAL ps(ip1jmp1) ! pression au sol 49 REAL masse(ip1jmp1,llm) ! masse d'air 50 REAL phis(ip1jmp1) ! geopotentiel au sol 42 REAL,INTENT(OUT) :: time_0 43 44 ! fields 45 REAL,INTENT(OUT) :: vcov(ip1jm,llm) ! meridional covariant wind 46 REAL,INTENT(OUT) :: ucov(ip1jmp1,llm) ! zonal covariant wind 47 REAL,INTENT(OUT) :: teta(ip1jmp1,llm) ! potential temperature (K) 48 REAL,INTENT(OUT) :: q(ip1jmp1,llm,nqtot) ! advected tracers (.../kg_of_air) 49 REAL,INTENT(OUT) :: ps(ip1jmp1) ! surface pressure (Pa) 50 REAL,INTENT(OUT) :: masse(ip1jmp1,llm) ! air mass in grid cell (kg) 51 REAL,INTENT(OUT) :: phis(ip1jmp1) ! surface geopotential 51 52 52 53 ! Local: … … 76 77 character(len=80) :: abort_message 77 78 79 80 ! Sanity check: verify that options selected by user are not incompatible 81 if ((iflag_phys==1).and. .not. read_start) then 82 write(lunout,*) trim(modname)," error: if read_start is set to ", & 83 " false then iflag_phys should not be 1" 84 write(lunout,*) "You most likely want an aquaplanet initialisation", & 85 " (iflag_phys >= 100)" 86 call abort_gcm(modname,"incompatible iflag_phys==1 and read_start==.false.",1) 87 endif 88 78 89 !----------------------------------------------------------------------- 79 90 ! 1. Initializations for Earth-like case -
LMDZ5/branches/testing/libf/dyn3d/integrd.F
r1910 r2160 107 107 write(lunout,*) " lon = ",rlonv(i)*180./pi, " deg", 108 108 & " lat = ",rlatu(j)*180./pi, " deg" 109 stop109 call abort_gcm("integrd", "", 1) 110 110 ENDIF 111 111 ENDDO
Note: See TracChangeset
for help on using the changeset viewer.