Changeset 726
- Timestamp:
- Nov 6, 2006, 4:51:16 PM (18 years ago)
- Location:
- LMDZ4/branches/V3_test/libf
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/V3_test/libf/dyn3d/advtrac.F
r703 r726 8 8 * p, masse,q,iapptrac,teta, 9 9 * flxw, 10 * pk, 11 * mmt_adj, 12 * hadv_flg) 10 * pk) 13 11 #else 14 12 SUBROUTINE advtrac(pbaru,pbarv , … … 51 49 REAL pk(ip1jmp1,llm) 52 50 #ifdef INCA 53 INTEGER :: hadv_flg(nqmx)54 REAL :: mmt_adj(ip1jmp1,llm,1)55 51 REAL :: flxw(ip1jmp1,llm) 56 52 #endif … … 215 211 #ifdef INCA 216 212 do iiq = iq+1, iq+3 217 q(:,:,iiq)=q(:,:,iiq)*mmt_adj(:,:,1) 213 c q(:,:,iiq)=q(:,:,iiq)*mmt_adj(:,:,1) 214 q(:,:,iiq)=q(:,:,iiq)*1 218 215 enddo 219 216 #endif … … 233 230 #ifdef INCA 234 231 do iiq = iq+1, iq+9 235 q(:,:,iiq)=q(:,:,iiq)*mmt_adj(:,:,1) 232 c q(:,:,iiq)=q(:,:,iiq)*mmt_adj(:,:,1) 233 q(:,:,iiq)=q(:,:,iiq)*1 236 234 enddo 237 235 #endif -
LMDZ4/branches/V3_test/libf/dyn3d/advtrac.h
r524 r726 5 5 c INCLUDE 'advtrac.h' 6 6 7 COMMON/advtr/iadv,hadv,vadv,tnom,tname,ttext,niadv 7 COMMON/advtr/iadv,hadv,vadv,tnom,tname,ttext,niadv, 8 & nbtrac, nprath, mmt_adj, hadv_flg, vadv_flg, conv_flg, 9 & pbl_flg, tracnam 8 10 INTEGER iadv(nqmx) ! indice schema de transport 9 11 INTEGER hadv(nqmx) ! indice schema transport horizontal … … 13 15 character*10 tname(nqmx) ! nom du traceur pour restart 14 16 character*13 ttext(nqmx) ! nom long du traceur pour sorties 17 18 19 integer nbtrac 20 integer nprath 21 real mmt_adj(iim+1,jjm+1,llm, 1) 22 integer hadv_flg(nqmx) 23 integer vadv_flg(nqmx) 24 integer conv_flg(nqmx-2) 25 integer pbl_flg(nqmx-2) 26 character*8 tracnam(nqmx-2) 15 27 c----------------------------------------------------------------------- -
LMDZ4/branches/V3_test/libf/dyn3d/caladvtrac.F
r703 r726 8 8 * p ,masse, dq , teta, 9 9 * flxw, 10 * pk, 11 * mmt_adj, 12 * hadv_flg) 10 * pk) 13 11 #else 14 12 SUBROUTINE caladvtrac(q,pbaru,pbarv , … … 42 40 REAL teta( ip1jmp1,llm),pk( ip1jmp1,llm) 43 41 #ifdef INCA 44 INTEGER :: hadv_flg(nqmx)45 REAL :: mmt_adj(iip1,jjp1,llm,1)46 42 REAL :: flxw(ip1jmp1,llm) 47 43 #endif … … 77 73 * p, masse,q,iapptrac, teta, 78 74 . flxw, 79 . pk, 80 . mmt_adj, 81 . hadv_flg) 75 . pk) 82 76 #else 83 77 CALL advtrac( pbaru,pbarv, -
LMDZ4/branches/V3_test/libf/dyn3d/gcm.F
r704 r726 58 58 #include "iniprint.h" 59 59 #include "tracstoke.h" 60 60 #include "advtrac.h" 61 61 62 62 INTEGER longcles … … 145 145 dynhistave_file = 'dyn_hist_ave.nc' 146 146 147 c initialisation Anne 148 hadv_flg(:) = 0. 149 vadv_flg(:) = 0. 150 conv_flg(:) = 0. 151 pbl_flg(:) = 0. 152 tracnam(:) = ' ' 153 nprath = 1 154 nbtrac = 0 155 mmt_adj(:,:,:,:) = 1 156 157 147 158 c-------------------------------------------------------------------------- 148 159 c Iflag_phys controle l'appel a la physique : … … 188 199 call init_phys_openmp 189 200 call InitComgeomphy 201 202 #ifdef INCA 203 call init_const_lmdz(nbtrac,anneeref,dayref,iphysiq,day_step,nday) 204 call init_inca_para(iim,jjm+1,klon2,phy_size,klon_para_nb) 205 #endif 206 190 207 c 191 208 c … … 222 239 endif 223 240 241 #ifdef INCA 242 call init_inca_dim(klon,llm,iim,jjm, 243 $ rlonu,rlatu,rlonv,rlatv) 244 #endif 224 245 225 246 -
LMDZ4/branches/V3_test/libf/dyn3d/guide.F
r703 r726 367 367 if (first.and.ini_anal) vcov(ij,l)=a 368 368 enddo 369 if (first.and.ini_anal) vcov(ij,l)=a370 369 enddo 371 370 endif -
LMDZ4/branches/V3_test/libf/dyn3d/iniadvtrac.F
r703 r726 6 6 subroutine iniadvtrac(nq) 7 7 USE ioipsl 8 #ifdef INCA9 USE transport_controls, only : hadv_flg, vadv_flg10 USE species_names11 USE chemshut12 #endif13 8 IMPLICIT NONE 14 9 c======================================================================= … … 59 54 descrq(20)='SLP' 60 55 descrq(30)='PRA' 56 57 #ifdef INCA 58 59 CALL init_transport( 60 $ hadv_flg, 61 $ vadv_flg, 62 $ conv_flg, 63 $ pbl_flg, 64 $ tracnam) 65 #endif 61 66 62 67 c----------------------------------------------------------------------- -
LMDZ4/branches/V3_test/libf/dyn3d/leapfrog.F
r703 r726 7 7 & time_0) 8 8 9 #ifdef INCA10 USE transport_controls, ONLY : hadv_flg, mmt_adj11 #endif12 9 13 10 cIM : pour sortir les param. du modele dans un fis. netcdf 110106 … … 61 58 #include "com_io_dyn.h" 62 59 #include "iniprint.h" 63 60 #include "advtrac.h" 64 61 c#include "tracstoke.h" 65 62 … … 297 294 * p, masse, dq, teta, 298 295 . flxw, 299 . pk, 300 . mmt_adj, 301 . hadv_flg) 296 . pk) 302 297 #else 303 298 CALL caladvtrac(q,pbaru,pbarv, -
LMDZ4/branches/V3_test/libf/dyn3dpar/advtrac.h
r709 r726 5 5 c INCLUDE 'advtrac.h' 6 6 7 COMMON/advtr/iadv,hadv,vadv,tnom,tname,ttext,niadv 7 COMMON/advtr/iadv,hadv,vadv,tnom,tname,ttext,niadv, 8 & nbtrac, nprath, mmt_adj, hadv_flg, vadv_flg, conv_flg, 9 & pbl_flg, tracnam 8 10 INTEGER iadv(nqmx) ! indice schema de transport 9 11 INTEGER hadv(nqmx) ! indice schema transport horizontal … … 13 15 character*10 tname(nqmx) ! nom du traceur pour restart 14 16 character*13 ttext(nqmx) ! nom long du traceur pour sorties 17 18 integer nbtrac 19 integer nprath 20 real mmt_adj(iim+1,jjm+1,llm, 1) 21 integer hadv_flg(nqmx) 22 integer vadv_flg(nqmx) 23 integer conv_flg(nqmx-2) 24 integer pbl_flg(nqmx-2) 25 character*8 tracnam(nqmx-2) 15 26 c----------------------------------------------------------------------- -
LMDZ4/branches/V3_test/libf/dyn3dpar/caladvtrac_p.F
r709 r726 9 9 * flxw, 10 10 * pk, 11 * mmt_adj, 12 * hadv_flg,iapptrac) 11 * iapptrac) 13 12 #else 14 13 SUBROUTINE caladvtrac_p(q,pbaru,pbarv , … … 41 40 REAL p( ip1jmp1,llmp1),q( ip1jmp1,llm,nqmx),dq( ip1jmp1,llm,2 ) 42 41 REAL teta( ip1jmp1,llm),pk( ip1jmp1,llm) 43 #ifdef INCA_CH4 44 cym INTEGER :: hadv_flg(nq) 45 INTEGER :: hadv_flg(nqmx) 46 REAL :: mmt_adj(iip1,jjp1,llm) 42 #ifdef INCA 47 43 REAL :: flxw(ip1jmp1,llm) 48 44 #endif … … 78 74 c print *,'appel a advtrac' 79 75 80 #ifdef INCA _CH476 #ifdef INCA 81 77 CALL advtrac_p( pbaru,pbarv, 82 78 * p, masse,q,iapptrac, teta, 83 79 . flxw, 84 . pk, 85 . mmt_adj, 86 . hadv_flg) 80 . pk) 87 81 #else 88 82 CALL advtrac_p( pbaru,pbarv, -
LMDZ4/branches/V3_test/libf/dyn3dpar/gcm.F
r709 r726 14 14 USE mod_hallo 15 15 USE Bands 16 #ifdef INCA17 USE inca_dim18 #endif19 16 IMPLICIT NONE 20 17 … … 64 61 #include "iniprint.h" 65 62 #include "tracstoke.h" 66 63 #include "advtrac.h" 67 64 68 65 INTEGER longcles … … 157 154 dynhist_file = 'dyn_hist' 158 155 dynhistave_file = 'dyn_hist_ave' 156 157 158 c initialisation Anne 159 hadv_flg(:) = 0. 160 vadv_flg(:) = 0. 161 conv_flg(:) = 0. 162 pbl_flg(:) = 0. 163 tracnam(:) = ' ' 164 nprath = 1 165 nbtrac = 0 166 mmt_adj(:,:,:,:) = 1 167 159 168 160 169 c-------------------------------------------------------------------------- … … 221 230 c$OMP END PARALLEL 222 231 #ifdef INCA 223 call init_inca_dim 232 call init_const_lmdz(nbtrac,anneeref,dayref,iphysiq,day_step,nday) 233 call init_inca_para(iim,jjm+1,klon2,phy_size,klon_para_nb) 224 234 #endif 225 235 … … 250 260 endif 251 261 262 #ifdef INCA 263 call init_inca_dim(klon,llm,iim,jjm, 264 $ rlonu,rlatu,rlonv,rlatv) 265 #endif 252 266 253 267 -
LMDZ4/branches/V3_test/libf/dyn3dpar/iniadvtrac.F
r709 r726 6 6 subroutine iniadvtrac(nq) 7 7 USE ioipsl 8 #ifdef INCA9 USE transport_controls, only : hadv_flg, vadv_flg10 cym USE chemshut11 USE species_names12 #endif13 8 IMPLICIT NONE 14 9 c======================================================================= … … 60 55 descrq(30)='PRA' 61 56 57 #ifdef INCA 58 59 CALL init_transport( 60 $ hadv_flg, 61 $ vadv_flg, 62 $ conv_flg, 63 $ pbl_flg, 64 $ tracnam) 65 #endif 66 62 67 c----------------------------------------------------------------------- 63 68 c Choix des schemas d'advection pour l'eau et les traceurs … … 110 115 tnom(2)='H2Ol' 111 116 nq=nbtrac+2 117 112 118 if (nq.gt.nqmx) then 113 print*,'nombre de traceurs incompatible INCA/LMDZT' 119 print*,'nombre de traceurs incompatible INCA/LMDZT', nq, nbtrac 114 120 stop 115 121 endif -
LMDZ4/branches/V3_test/libf/dyn3dpar/leapfrog_p.F
r709 r726 19 19 USE Write_Field_p 20 20 USE vampir 21 22 #ifdef INCA23 USE transport_controls, ONLY : hadv_flg, mmt_adj24 #endif25 21 26 22 IMPLICIT NONE … … 76 72 #include "academic.h" 77 73 #include "clesphys.h" 78 74 #include "advtrac.h" 79 75 80 76 include 'mpif.h' … … 148 144 149 145 REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm) 150 #ifdef INCA _CH4146 #ifdef INCA 151 147 REAL :: flxw(ip1jmp1,llm) 152 148 #endif … … 528 524 c$OMP PARALLEL DEFAULT(SHARED) 529 525 c 530 #ifdef INCA _CH4526 #ifdef INCA 531 527 CALL caladvtrac_p(q,pbaru,pbarv, 532 528 * p, masse, dq, teta, 533 529 . flxw, 534 . pk, 535 . mmt_adj, 536 . hadv_flg,iapptrac) 530 . pk, 531 . iapptrac) 537 532 #else 538 533 CALL caladvtrac_p(q,pbaru,pbarv, … … 680 675 * jj_Nb_physic,2,2,Request_physic) 681 676 enddo 682 #ifdef INCA _CH4677 #ifdef INCA 683 678 call Register_SwapFieldHallo(flxw,flxw,ip1jmp1,llm, 684 679 * jj_Nb_physic,2,2,Request_physic) … … 698 693 $ ucov,vcov,teta,q,masse,ps,p,pk,phis,phi , 699 694 $ du,dv,dteta,dq,w, 700 #ifdef INCA _CH4695 #ifdef INCA 701 696 $ flxw, 702 697 #endif -
LMDZ4/branches/V3_test/libf/dyn3dpar/mod_hallo.F90
r718 r726 3 3 implicit none 4 4 ! include 'mpif.h' 5 integer, parameter :: MaxRequest= 805 integer, parameter :: MaxRequest=200 6 6 integer, parameter :: MaxProc=80 7 7 integer, parameter :: MaxBufferSize=1024*1024*16 … … 430 430 type(request_SR),pointer :: Req 431 431 type(Hallo),pointer :: PtrHallo 432 integer, dimension( 2*mpi_size) :: TabRequest433 integer, dimension(MPI_STATUS_SIZE, 2*mpi_size) :: TabStatus432 integer, dimension(4) :: TabRequest 433 integer, dimension(MPI_STATUS_SIZE,4) :: TabStatus 434 434 integer :: NbRequest 435 435 integer :: i,rank,pos,ij,l,ierr … … 512 512 type(request_SR),pointer :: Req 513 513 type(Hallo),pointer :: PtrHallo 514 integer, dimension( mpi_size) :: TabRequest515 integer, dimension(MPI_STATUS_SIZE, mpi_size) :: TabStatus514 integer, dimension(4) :: TabRequest 515 integer, dimension(MPI_STATUS_SIZE,4) :: TabStatus 516 516 integer :: NbRequest 517 517 integer :: i,rank,pos,ij,l,ierr … … 553 553 type(request_SR),pointer :: Req 554 554 type(Hallo),pointer :: PtrHallo 555 integer, dimension( mpi_size) :: TabRequest556 integer, dimension(MPI_STATUS_SIZE, mpi_size) :: TabStatus555 integer, dimension(4) :: TabRequest 556 integer, dimension(MPI_STATUS_SIZE,4) :: TabStatus 557 557 integer :: NbRequest 558 558 integer :: i,rank,pos,ij,l,ierr -
LMDZ4/branches/V3_test/libf/phylmd/ini_histrac.h
r704 r726 2 2 ! $Header$ 3 3 ! 4 #ifndef INCA 4 5 CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian) 5 6 c … … 18 19 . klev, presnivs, nvert) 19 20 20 #ifdef INCA_AER21 cym CALL histbeg("histrac_aer", iim,zx_lon, jjm+1,zx_lat,22 cym . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys,23 cym . nhori, nid_tra2)24 CALL histbeg_phy("histrac_aer", itau_phy, zjulian, pdtphys,25 . nhori, nid_tra2)26 27 cym CALL histbeg("histrac_inst", iim,zx_lon, jjm+1,zx_lat,28 cym . 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys,29 cym . nhori, nid_tra3)30 CALL histbeg_phy("histrac_inst",itau_phy, zjulian, pdtphys,31 . nhori, nid_tra3)32 33 call histvert(nid_tra2, "presnivs", "Vertical levels", "mb",34 . klev, presnivs, nvert)35 call histvert(nid_tra3, "presnivs", "presnivs", "mb",36 . klev, presnivs, nvert)37 #endif38 21 39 22 … … 48 31 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, 49 32 . "once", zsto,zout) 50 #ifdef INCA51 CALL histdef(nid_tra, "ps", "Surface pressure", "Pa",52 . iim,jjphy_nb,nhori, 1,1,1,-99, 32,53 . "ave(X)", zsto,zout)54 55 CALL histdef(nid_tra, "ptrop", "Tropopause pressure", "Pa",56 . iim,jjphy_nb,nhori, 1,1,1,-99, 32,57 . "ave(X)", zsto,zout)58 59 C 3d FIELDS60 CALL histdef(nid_tra, "temp", "Air temperature", "K",61 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,62 . "ave(X)", zsto,zout)63 64 CALL histdef(nid_tra, "u", "zonal wind component", "m/s",65 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,66 . "ave(X)", zsto,zout)67 68 CALL histdef(nid_tra, "v", "zonal wind component", "m/s",69 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,70 . "ave(X)", zsto,zout)71 72 CALL histdef(nid_tra, "h2o", "Specific Humidity", "MMR",73 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,74 . "ave(X)", zsto,zout)75 76 CALL histdef(nid_tra, "pmid", "Pressure", "Pa",77 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,78 . "ave(X)", zsto,zout)79 80 CALL histdef(nid_tra, "pdel", "Delta Pressure", "Pa",81 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,82 . "ave(X)", zsto,zout)83 84 ! MS info85 #ifdef INCA_AER86 CALL histdef(nid_tra, "airm", "Air mass", "kg",87 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,88 . "ave(X)", zsto,zout)89 #endif90 #ifdef INCA91 #ifdef INCAINFO92 93 #ifdef INCA_CH494 DO it=1, phtcnt95 WRITE(str2,'(i2.2)') it96 CALL histdef(nid_tra, "j"//str2,"j"//str2, "CM-3 S-1",97 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,98 . "ave(X)", zsto,zout)99 ENDDO100 DO it=1, hetcnt101 WRITE(str2,'(i2.2)') it102 CALL histdef(nid_tra, "w"//str2,"w"//str2, "S-1",103 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,104 . "ave(X)", zsto,zout)105 ENDDO106 DO it=1, extcnt107 WRITE(str2,'(i2.2)') it108 CALL histdef(nid_tra, "ext"//str2,"ext"//str2, "CM-3 S-1",109 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,110 . "ave(X)", zsto,zout)111 ENDDO112 #endif113 #ifdef INCA_NMHC114 DO it=1, phtcnt115 WRITE(str2,'(i2.2)') it116 CALL histdef(nid_tra, "j"//str2,"j"//str2, "CM-3 S-1",117 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,118 . "ave(X)", zsto,zout)119 ENDDO120 DO it=1, hetcnt121 WRITE(str2,'(i2.2)') it122 CALL histdef(nid_tra, "w"//str2,"w"//str2, "S-1",123 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,124 . "ave(X)", zsto,zout)125 ENDDO126 127 DO it=1, extcnt128 WRITE(str2,'(i2.2)') it129 CALL histdef(nid_tra, "ext"//str2,"ext"//str2, "CM-3 S-1",130 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,131 . "ave(X)", zsto,zout)132 ENDDO133 #endif134 DO it=1, nfs135 WRITE(str2,'(i2.2)') it136 CALL histdef(nid_tra, "INV"//str2, "INV"//str2, "CM-3",137 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,138 . "ave(X)", zsto,zout)139 ENDDO140 141 #else142 143 #ifdef INCA_NMHC144 CALL histdef(nid_tra, "jO3","jO3", "CM-3 S-1",145 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,146 . "ave(X)", zsto,zout)147 CALL histdef(nid_tra, "jNO2","jNO2", "CM-3 S-1",148 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,149 . "ave(X)", zsto,zout)150 CALL histdef(nid_tra, "jH2O2","jH2O2", "CM-3 S-1",151 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,152 . "ave(X)", zsto,zout)153 CALL histdef(nid_tra, "wHNO3","wHNO3", "S-1",154 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,155 . "ave(X)", zsto,zout)156 CALL histdef(nid_tra, "kN2O5", "kN2O5","CM-3 S-1",157 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,158 . "ave(X)", zsto,zout)159 CALL histdef(nid_tra, "LghtNO","LghtNO", "CM-3 S-1",160 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,161 . "ave(X)", zsto,zout)162 #endif163 #ifdef INCA_CH4164 CALL histdef(nid_tra, "jO3","jO3", "CM-3 S-1",165 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,166 . "ave(X)", zsto,zout)167 CALL histdef(nid_tra, "jNO2","jNO2", "CM-3 S-1",168 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,169 . "ave(X)", zsto,zout)170 CALL histdef(nid_tra, "jH2O2","jH2O2", "CM-3 S-1",171 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,172 . "ave(X)", zsto,zout)173 CALL histdef(nid_tra, "wHNO3","wHNO3", "S-1",174 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,175 . "ave(X)", zsto,zout)176 CALL histdef(nid_tra, "kN2O5", "kN2O5","CM-3 S-1",177 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,178 . "ave(X)", zsto,zout)179 CALL histdef(nid_tra, "LghtNO","LghtNO", "CM-3 S-1",180 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,181 . "ave(X)", zsto,zout)182 #endif183 #endif184 185 ! DO it=1, grpcnt186 ! CALL histdef(nid_tra, grpsym(it), grpsym(it), "VMR",187 ! . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,188 ! . "ave(X)", zsto,zout)189 ! ENDDO190 #endif191 192 #ifdef INCA_AER193 194 CALL histdef(nid_tra2, "scavcoef_st","scavcoef_st", "S-1",195 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,196 . "ave(X)", zsto,zout)197 CALL histdef(nid_tra2, "scavcoef_cv","scavcoef_cv", "S-1",198 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,199 . "ave(X)", zsto,zout)200 CALL histdef(nid_tra2, "AngstroemComp","AngstroemComp",201 . "angs comp", iim,jjphy_nb,nhori, 1,1,1, -99, 32,202 . "ave(X)", zsto,zout)203 204 CALL histdef(nid_tra2, "TOTAERH2O", "Total aerosol water",205 . "kg/m2", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,206 . "ave(X)", zsto,zout)207 #endif208 #endif209 33 DO it=1,nqmax 210 34 C champ 2D 211 #ifdef INCA212 IF ( prt_flag_ts(it) == 0 ) CYCLE213 CALL histdef(nid_tra, "Emi_"//solsym(it), "Emi_"//solsym(it),214 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,215 . "ave(X)", zsto,zout)216 CALL histdef(nid_tra, "Dep_"//solsym(it), "Dep_"//solsym(it),217 . "cm/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,218 . "ave(X)", zsto,zout)219 #ifdef INCA_AER220 221 CALL histdef(nid_tra2, "Dry_"//solsym(it), "Dry_"//solsym(it),222 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,223 . "ave(X)", zsto,zout)224 225 IF ((it .ge. trmx) .and. (it .le. trnx)) then226 CALL histdef(nid_tra2, "Sed_"//solsym(it), "Sed_"//solsym(it),227 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,228 . "ave(X)", zsto,zout)229 CALL histdef(nid_tra2, "Wet_"//solsym(it), "Wet_"//solsym(it),230 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,231 . "ave(X)", zsto,zout)232 CALL histdef(nid_tra2, "WetST_"//solsym(it), "WetST_"//solsym(it),233 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,234 . "ave(X)", zsto,zout)235 CALL histdef(nid_tra2, "WetCV_"//solsym(it), "WetCV_"//solsym(it),236 . "kg/m2/s", iim,jjphy_nb,nhori, 1,1,1, -99, 32,237 . "ave(X)", zsto,zout)238 CALL histdef(nid_tra2, "Emi_alt_"//solsym(it), "Emi_alt_"//solsym(it),239 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,240 . "ave(X)", zsto,zout)241 CALL histdef(nid_tra2, "Load_"//solsym(it), "Load_"//solsym(it),242 . "kg/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,243 . "ave(X)", zsto,zout)244 CALL histdef(nid_tra2, "SConc_"//solsym(it), "SConc_"//solsym(it),245 . "kg/m3", iim,jjphy_nb,nhori, 1,1,1, -99, 32,246 . "ave(X)", zsto,zout)247 do la=1,las248 CALL histdef(nid_tra2, "OD"//cla(la)//"_"//solsym(it), "OD"//cla(la)//"_"//solsym(it),249 . "opt. depth", iim,jjphy_nb,nhori, 1,1,1, -99, 32,250 . "ave(X)", zsto,zout)251 252 CALL histdef(nid_tra2, "OD3D"//cla(la)//"_"//solsym(it), "OD3d_"//cla(la)//"_"//solsym(it),253 . "opt. depth 3D", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,254 . "ave(X)", zsto,zout)255 enddo256 257 CALL histdef(nid_tra2, "CLOAD_"//solsym(it), "3D LOAD_"//solsym(it),258 . "kg/m2 resp. #/m2", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,259 . "ave(X)", zsto,zout)260 261 CALL histdef(nid_tra2, "MD_"//solsym(it), "MD_"//solsym(it),262 . "median diameter [m]", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,263 . "ave(X)", zsto,zout)264 265 CALL histdef(nid_tra2, "MDW_"//solsym(it), "MDW_"//solsym(it),266 . "wet median diameter [m]", iim,jjphy_nb,nhori, klev,1,klev, nvert, 32,267 . "ave(X)", zsto,zout)268 269 270 271 CALL histdef(nid_tra3, "Inst_Load_"//solsym(it), "Inst_Load_"//solsym(it),272 . "kg/m2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,273 . "inst(X)", zout,zout)274 275 endif276 277 #endif278 CALL histdef(nid_tra, solsym(it), solsym(it), "VMR",279 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,280 . "ave(X)", zsto,zout)281 #else282 35 iq=it+2 283 36 iiq=niadv(iq) … … 306 59 c---fin Olivia 307 60 308 #endif309 61 ENDDO 310 62 311 #ifdef INCA312 CALL histdef(nid_tra, "O3_column", "O3_column",313 . "DU", iim,jjphy_nb,nhori, 1,1,1, -99, 32,314 . "ave(X)", zsto,zout)315 CALL histdef(nid_tra, "CO_column", "CO_column",316 . "10^18 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,317 . "ave(X)", zsto,zout)318 CALL histdef(nid_tra, "CH4_column", "CH4_column",319 . "10^18 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,320 . "ave(X)", zsto,zout)321 CALL histdef(nid_tra, "NO2_column", "NO2_column",322 . "10^15 CM-2", iim,jjphy_nb,nhori, 1,1,1, -99, 32,323 . "ave(X)", zsto,zout)324 CALL histdef(nid_tra, "O3_ste", "O3_ste",325 . "CM-2 S-1", iim,jjphy_nb,nhori, 1,1,1, -99, 32,326 . "ave(X)", zsto,zout)327 CALL histdef(nid_tra, "O3_prod", "O3_prod", "CM-3 S-1",328 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,329 . "ave(X)", zsto,zout)330 CALL histdef(nid_tra, "O3_loss", "O3_loss", "CM-3 S-1",331 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,332 . "ave(X)", zsto,zout)333 334 ! Special variables for daytime averaging335 ! CALL histdef(nid_tra, "day_cnt", "day_cnt", "-",336 ! . iim,jjm+1,nhori, klev,1,klev,nvert, 32,337 ! . "t_sum(X)", zsto,zout)338 ! CALL histdef(nid_tra, "NO_day", "NO_day", "VMR",339 ! . iim,jjm+1,nhori, klev,1,klev,nvert, 32,340 ! . "t_sum(X)", zsto,zout)341 342 343 344 !! Ajout Anne345 #ifdef INCA_AER346 ! for sulfur cycle347 CALL histdef(nid_tra, "SO2_p_dmsoh", "SO2_p_dmsoh", "CM-3 S-1",348 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,349 . "ave(X)", zsto,zout)350 CALL histdef(nid_tra, "SO2_p_dmsno3", "SO2_p_dmsno3", "CM-3 S-1",351 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,352 . "ave(X)", zsto,zout)353 CALL histdef(nid_tra, "SO2_p_h2soh", "SO2_p_h2soh", "CM-3 S-1",354 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,355 . "ave(X)", zsto,zout)356 CALL histdef(nid_tra, "SO2_p_dmsooh", "SO2_p_dmsooh", "CM-3 S-1",357 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,358 . "ave(X)", zsto,zout)359 CALL histdef(nid_tra, "DMSO_p_dmsoh", "DMSO_p_dmsoh", "CM-3 S-1",360 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,361 . "ave(X)", zsto,zout)362 CALL histdef(nid_tra, "ASMSAM_p_dmsooh", "ASMSAM_p_dmsooh", "CM-3 S-1",363 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,364 . "ave(X)", zsto,zout)365 CALL histdef(nid_tra, "ASSO4M_p_so2oh", "ASSO4M_p_so2oh", "CM-3 S-1",366 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,367 . "ave(X)", zsto,zout)368 CALL histdef(nid_tra, "ASSO4M_p_so2h2o2", "ASSO4M_p_h2o2","CM-3 S-1",369 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,370 . "ave(X)", zsto,zout)371 CALL histdef(nid_tra, "ASSO4M_p_so2o3", "ASSO4M_p_so2o3", "CM-3 S-1",372 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,373 . "ave(X)", zsto,zout)374 375 CALL histdef(nid_tra, "Wet3D_SO2", "Wet3D_SO2",376 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,377 . "ave(X)", zsto,zout)378 CALL histdef(nid_tra, "Wet3D_DMS", "Wet3D_DMS",379 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,380 . "ave(X)", zsto,zout)381 CALL histdef(nid_tra, "Wet3D_HNO3", "Wet3D_HNO3",382 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,383 . "ave(X)", zsto,zout)384 CALL histdef(nid_tra, "Wet3D_H2O2", "Wet3D_H2O2",385 . "kg/m2/s", iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,386 . "ave(X)", zsto,zout)387 388 CALL histdef(nid_tra, "PH_HIST", "pH over physics time step", "1",389 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,390 . "ave(X)", zsto,zout)391 #endif392 393 #ifdef INCA_CH4394 DO it=1, grpcnt395 CALL histdef(nid_tra, grpsym(it), grpsym(it), "VMR",396 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,397 . "ave(X)", zsto,zout)398 ENDDO399 400 #endif401 402 403 #ifdef INCA_NMHC404 CALL histdef(nid_tra, "CO2_basprod", "CO2_basprod", "CM-3 S-1",405 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,406 . "ave(X)", zsto,zout)407 CALL histdef(nid_tra, "CO2_nmhcprod", "CO2_nmhcprod", "CM-3 S-1",408 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,409 . "ave(X)", zsto,zout)410 CALL histdef(nid_tra, "CO2_radicalprod", "CO2_radicalprod", "CM-3 S-1",411 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,412 . "ave(X)", zsto,zout)413 CALL histdef(nid_tra, "HNO3_prod", "HNO3_prod", "CM-3 S-1",414 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,415 . "ave(X)", zsto,zout)416 CALL histdef(nid_tra, "HNO3_loss", "HNO3_loss", "CM-3 S-1",417 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,418 . "ave(X)", zsto,zout)419 CALL histdef(nid_tra, "CO_prod", "CO_prod", "CM-3 S-1",420 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,421 . "ave(X)", zsto,zout)422 CALL histdef(nid_tra, "CO_loss", "CO_loss", "CM-3 S-1",423 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,424 . "ave(X)", zsto,zout)425 426 DO it=1, grpcnt427 CALL histdef(nid_tra, grpsym(it), grpsym(it), "VMR",428 . iim,jjphy_nb,nhori, klev,1,klev,nvert, 32,429 . "ave(X)", zsto,zout)430 ENDDO431 432 433 #endif434 ! Fin ajout Anne435 #else436 63 CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-", 437 64 . iim,jjphy_nb,nhori, 1,1,1, -99, 32, … … 493 120 . "ave(X)", zsto,zout) 494 121 495 #endif496 122 c 497 123 CALL histend(nid_tra) 498 #ifdef INCA_AER499 CALL histend(nid_tra2)500 CALL histend(nid_tra3)501 #endif502 124 ndex2d = 0 503 125 ndex3d = 0 504 126 ndex = 0 127 #endif -
LMDZ4/branches/V3_test/libf/phylmd/physiq.F
r720 r726 25 25 USE misc_mod, mydebug=>debug 26 26 USE vampir 27 #ifdef INCA28 cym USE chemshut29 USE species_names30 #ifdef INCA_CH431 ! USE obs_pos32 #endif33 #endif34 27 IMPLICIT none 35 28 c====================================================================== … … 1945 1938 WRITE(lunout,*) 'Appel CHEMINI ...' 1946 1939 #endif 1947 CALL chemini( rpi,1940 CALL chemini( 1948 1941 $ rg, 1949 1942 $ ra, … … 3021 3014 3022 3015 #ifdef INCA_AER 3023 call AEROSOL_METEO_CALC(calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs ,3024 & prfl,psfl,pctsrf(1,3),airephy,xjour,rlat,rlon)3016 call AEROSOL_METEO_CALC(calday,pdtphys,pplay,paprs,t,pmflxr,pmflxs 3017 & ,prfl,psfl,pctsrf,airephy,xjour,rlat,rlon,u10m,v10m) 3025 3018 #endif 3026 3019 -
LMDZ4/branches/V3_test/libf/phylmd/phytrac.F
r704 r726 67 67 USE iophy 68 68 USE vampir 69 #ifdef INCA 70 USE sflx 71 USE chem_tracnm 72 USE species_names 73 USE chem_mods 74 #ifdef INCA_NMHC 75 USE pht_tables, ONLY : jrates 76 USE lightning, ONLY : prod_light 77 #endif 78 #ifdef INCA_CH4 79 USE pht_tables, ONLY : jrates 80 USE lightning, ONLY : prod_light 81 #endif 82 USE transport_controls, ONLY : conv_flg, pbl_flg 83 USE airplane_src, ONLY : ptrop 84 #ifdef INCA_AER 85 USE AEROSOL_MOD, only : ntr,trmx,trnx 86 USE AEROSOL_DIAG,only : cla,las,tausum,angst,aload,cload,totaerh2o,tau, 87 $ emiss20,sconc,scavcoef_st,scavcoef_cv 88 $ ,cload05ss ,cload05bc ,cload05pom ,cload05dust ,cload05so4 89 $ ,cload125ss ,cload125bc ,cload125pom ,cload125dust ,cload125so4 90 USE AEROSOL_PROGNOS, ONLY : md,mdw 91 USE AEROSOL_METEO, only : airm 92 #endif 93 #ifdef INCA_NMHC 94 USE RESISTANCE_DIAGNOSE, ONLY : surf_alb, sol_irrad, surf_temp, surf_wind, 95 $ aero_resist, lamin_resist, surf_resist 96 #endif 97 #endif 69 98 70 IMPLICIT none 99 71 c====================================================================== … … 165 137 #ifdef INCA 166 138 REAL flxmass_w(klon,klev) 139 CHARACTER(len=8) :: solsym(nqmax) 167 140 #endif 168 141 c integer iflag_con … … 230 203 cAA Pour l'instant seuls les cas du rn et du pb ont ete envisages. 231 204 232 REAL source(klon ) ! a voir lorsque le flux est prescrit205 REAL source(klon,nqmax) ! a voir lorsque le flux est prescrit 233 206 cAA 234 207 cAA Pour la source de radon et son reservoir de sol … … 365 338 INTEGER :: lastgas 366 339 INTEGER :: ncsec 367 368 INTEGER :: prt_flag_ts(nbtr)=(/ 369 #ifdef INCA_CH4 370 . 1,1,1,0,0,1,1,1,1,1, 371 . 0,1,0,0,0,0,0,1,0,0, 372 . 0,1,1,1,1,0,1,1,1,0, 373 . 1,1,1,1,1,1,1,1,1,1, 374 . 1,0,0 375 #ifdef INCA_AER 376 . ,1,1,1,1,0,1,1,1,1,0, 377 . 1,1,1,1,1,1,0,1,0,1, 378 . 1,1,1,1,0,1,0,1,1,1 379 #endif 380 #endif 381 #ifdef INCA_NMHC 382 . 1,1,1,1,1,1,1,1,1,1, 383 . 1,1,1,1,1,1,1,1,1,1, 384 . 1,1,1,1,1,1,1,1,1,1, 385 . 1,1,1,1,1,1,1,1,1,1, 386 . 1,1,1,1,1,1,1,1,1,1, 387 . 1,1,1,1,1,1,1,1,1,1, 388 . 1,1,1,1,1,1,1,1,1,1, 389 . 1,1,1,1,1,1,1,1,1,1, 390 . 1,1,1,1,1,1,1 391 #ifdef INCA_AER 392 . ,1,1,1,1,0,1,1,1,1,0, 393 . 1,1,1,1,1,1,0,1,0,1, 394 . 1,1,1,1,0,1,0,1,1,1 395 #endif 396 #endif 397 #if defined(INCA_AER) && !defined(INCA_CH4) && !defined(INCA_NMHC) 398 . 1,1,1,1,1,1,1,1,1,1, 399 . 1,1,1,1,1,1,1,1,1,1, 400 . 1,1,1,1,1,1,1,1,1 401 #endif 402 #if defined(INCA) && !defined(INCA_CH4) && !defined(INCA_NMHC) && !defined(INCA_AER) 403 . 1,1,1,1,1,1,1,1,1,1, 404 . 1 405 #endif 406 407 . /) 408 340 INTEGER :: prt_flag_ts(nbtr) 409 341 410 342 REAL, PARAMETER :: dry_mass = 28.966 … … 413 345 REAL :: calday 414 346 REAL :: pdel(klon,klev) 415 REAL :: dummy(klon,klev) = 0.347 REAL :: dummy(klon,klev) 416 348 #endif 417 349 #ifdef INCA_AER … … 420 352 c 421 353 c====================================================================== 354 355 #ifdef INCA 356 prt_flag_ts(:)=(/ 357 #ifdef INCA_CH4 358 . 1,1,1,0,0,1,1,1,1,1, 359 . 0,1,0,0,0,0,0,1,0,0, 360 . 0,1,1,1,1,0,1,1,1,0, 361 . 1,1,1,1,1,1,1,1,1,1, 362 . 1,0,0 363 #ifdef INCA_AER 364 . ,1,1,1,1,0,1,1,1,1,0, 365 . 1,1,1,1,1,1,0,1,0,1, 366 . 1,1,1,1,0,1,0,1,1,1 367 #endif 368 #endif 369 #ifdef INCA_NMHC 370 . 1,1,1,1,1,1,1,1,1,1, 371 . 1,1,1,1,1,1,1,1,1,1, 372 . 1,1,1,1,1,1,1,1,1,1, 373 . 1,1,1,1,1,1,1,1,1,1, 374 . 1,1,1,1,1,1,1,1,1,1, 375 . 1,1,1,1,1,1,1,1,1,1, 376 . 1,1,1,1,1,1,1,1,1,1, 377 . 1,1,1,1,1,1,1,1,1,1, 378 . 1,1,1,1,1,1,1 379 #ifdef INCA_AER 380 . ,1,1,1,1,0,1,1,1,1,0, 381 . 1,1,1,1,1,1,0,1,0,1, 382 . 1,1,1,1,0,1,0,1,1,1 383 #endif 384 #endif 385 #if defined(INCA_AER) && !defined(INCA_CH4) && !defined(INCA_NMHC) 386 . 1,1,1,1,1,1,1,1,1,1, 387 . 1,1,1,1,1,1,1,1,1,1, 388 . 1,1,1,1,1,1,1,1,1 389 #endif 390 #if defined(INCA) && !defined(INCA_CH4) && !defined(INCA_NMHC) && !defined(INCA_AER) 391 . 1,1,1,1,1,1,1,1,1,1, 392 . 1 393 #endif 394 395 . /) 396 dummy(:,:) = 0. 397 398 #endif 422 399 modname='phytrac' 423 400 … … 549 526 $ rneb, ! for chimiaq 550 527 $ t_seri, ! for chimiaq 551 $ rh) 528 $ rh, 529 $ lafin) 552 530 ! fin changement anne 553 531 … … 555 533 556 534 CALL chemmain (tr_seri, !mmr 557 $ nas, !nas558 535 $ nstep, !nstep 559 536 $ calday, !calday … … 590 567 $ obuf, !obuf 591 568 $ iip1, !nx 592 $ jjp1) !ny 569 $ jjp1, !ny 570 $ source, 571 $ solsym) 593 572 #ifdef INCAINFO 594 573 #ifdef INCA_AER … … 797 776 C CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'cltracrn it='//itn) 798 777 else ! couche limite avec flux prescrit 799 #ifdef INCA 800 DO k = 1, klon 801 source(k) = eflux(k,it)-dflux(k,it) 802 END DO 803 #else 778 #ifndef INCA 804 779 805 780 Cmaf provisoire source / traceur a creer 806 781 DO i=1, klon 807 source(i ) = 0.0 ! pas de source, pour l'instant782 source(i,it) = 0.0 ! pas de source, pour l'instant 808 783 ENDDO 809 784 C 810 785 #endif 811 786 CALL cltrac(pdtphys, coefh,t_seri, 812 s tr_seri(1,1,it), source ,787 s tr_seri(1,1,it), source(:,it), 813 788 e paprs, pplay, delp, 814 789 s d_tr_cl(1,1,it)) -
LMDZ4/branches/V3_test/libf/phylmd/write_histrac.h
r704 r726 2 2 ! $Header$ 3 3 ! 4 #ifndef INCA 4 5 ndex = 0 5 6 ndex2d = 0 … … 13 14 cym CALL gr_fi_ecrit(1,klon,iim,jjm+1,airephy,zx_tmp_2d) 14 15 CALL histwrite_phy(nid_tra,"aire",itau_w,airephy) 15 #ifdef INCA16 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ps,zx_tmp_2d)17 CALL histwrite_phy(nid_tra,"ps",itau_w,ps)18 19 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ptrop,zx_tmp_2d)20 CALL histwrite_phy(nid_tra,"ptrop",itau_w,ptrop)21 22 C 3d FIELDS23 24 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,t_seri, zx_tmp_3d)25 CALL histwrite_phy(nid_tra,"temp",itau_w,t_seri)26 27 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,u, zx_tmp_3d)28 CALL histwrite_phy(nid_tra,"u",itau_w,u)29 30 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,v, zx_tmp_3d)31 CALL histwrite_phy(nid_tra,"v",itau_w,v)32 33 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,sh, zx_tmp_3d)34 CALL histwrite_phy(nid_tra,"h2o",itau_w,sh)35 36 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pdel, zx_tmp_3d)37 CALL histwrite_phy(nid_tra,"pdel",itau_w,pdel)38 39 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,pplay, zx_tmp_3d)40 CALL histwrite_phy(nid_tra,"pmid",itau_w,pplay)41 42 ! Ajout Anne43 #ifdef INCA_AER44 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,airm, zx_tmp_3d)45 CALL histwrite_phy(nid_tra,"airm",itau_w,airm)46 #endif47 48 ! Fin ajout Anne49 50 #ifdef INCA51 #ifdef INCAINFO52 #ifdef INCA_NMHC53 DO it=1, phtcnt54 WRITE(str2,'(i2.2)') it55 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,it),56 cym . zx_tmp_3d)57 CALL histwrite_phy(nid_tra,"j"//str2,itau_w,jrates(:,:,it))58 ENDDO59 60 DO it=1, hetcnt61 WRITE(str2,'(i2.2)') it62 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,it),63 cym . zx_tmp_3d)64 CALL histwrite_phy(nid_tra,"w"//str2,itau_w,hrates(:,:,it))65 ENDDO66 67 DO it=1, extcnt68 WRITE(str2,'(i2.2)') it69 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,it),70 . zx_tmp_3d)71 CALL histwrite_phy(nid_tra,"ext"//str2,itau_w,extflx(:,:,it))72 ENDDO73 #endif74 #ifdef INCA_CH475 DO it=1, phtcnt76 WRITE(str2,'(i2.2)') it77 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,it),78 cym . zx_tmp_3d)79 CALL histwrite_phy(nid_tra,"j"//str2,itau_w,jrates(:,:,it))80 ENDDO81 82 DO it=1, hetcnt83 WRITE(str2,'(i2.2)') it84 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,it),85 cym . zx_tmp_3d)86 CALL histwrite_phy(nid_tra,"w"//str2,itau_w,hrates(:,:,it))87 ENDDO88 89 DO it=1, extcnt90 WRITE(str2,'(i2.2)') it91 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,it),92 cym . zx_tmp_3d)93 CALL histwrite_phy(nid_tra,"ext"//str2,itau_w,extflx(:,:,it))94 ENDDO95 #endif96 97 DO it=1, nfs98 WRITE(str2,'(i2.2)') it99 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,invariants(1,1,it),100 cym . zx_tmp_3d)101 CALL histwrite_phy(nid_tra,"INV"//str2,itau_w,invariants(:,:,it))102 ENDDO103 #else104 #ifdef INCA_NMHC105 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,2),106 cym . zx_tmp_3d)107 CALL histwrite_phy(nid_tra,"jO3",itau_w,jrates(:,:,2))108 109 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,4),110 cym . zx_tmp_3d)111 CALL histwrite_phy(nid_tra,"jNO2",itau_w,jrates(:,:,4))112 113 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,13),114 cym . zx_tmp_3d)115 CALL histwrite_phy(nid_tra,"jH2O2",itau_w,jrates(:,:,13))116 117 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,1),118 cym . zx_tmp_3d)119 CALL histwrite_phy(nid_tra,"wHNO3",itau_w,hrates(:,:,1))120 121 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,krates(1,1,1),122 cym . zx_tmp_3d)123 CALL histwrite_phy(nid_tra,"kN2O5",itau_w,krates(:,:,1))124 125 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,1),126 cym . zx_tmp_3d)127 CALL histwrite_phy(nid_tra,"LghtNO",itau_w,extflx(:,:,1))128 #endif129 #ifdef INCA_CH4130 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,2),131 cym . zx_tmp_3d)132 CALL histwrite_phy(nid_tra,"jO3",itau_w,jrates(:,:,2))133 134 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,4),135 cym . zx_tmp_3d)136 CALL histwrite_phy(nid_tra,"jNO2",itau_w,jrates(:,:,4))137 138 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,jrates(1,1,13),139 cym . zx_tmp_3d)140 CALL histwrite_phy(nid_tra,"jH2O2",itau_w,jrates(:,:,13))141 142 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hrates(1,1,1),143 cym . zx_tmp_3d)144 CALL histwrite_phy(nid_tra,"wHNO3",itau_w,hrates(:,:,1))145 146 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,krates(1,1,1),147 cym . zx_tmp_3d)148 CALL histwrite_phy(nid_tra,"kN2O5",itau_w,krates(:,:,1))149 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,extflx(1,1,1),150 cym . zx_tmp_3d)151 CALL histwrite_phy(nid_tra,"LghtNO",itau_w,extflx(:,:,1))152 #endif153 #endif154 ! DO it=1, grpcnt155 !156 !cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d)157 ! zx_tmp_3d = zx_tmp_3d * dry_mass / nadv_mass(it)158 ! CALL histwrite_phy(nid_tra,grpsym(it),itau_w,zx_tmp_3d,159 ! . iim*(jjm+1)*klev,ndex3d)160 ! ENDDO161 #endif162 163 #ifdef INCA_AER164 165 it = id_CIDUSTM166 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_st(1,1,it),167 cym . zx_tmp_3d)168 CALL histwrite_phy(nid_tra2,"scavcoef_st",itau_w,169 . scavcoef_st(:,:,it))170 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,scavcoef_cv(1,1,it),171 cym . zx_tmp_3d)172 CALL histwrite_phy(nid_tra2,"scavcoef_cv",itau_w,173 . scavcoef_cv(:,:,it))174 175 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,angst(1),zx_tmp_2d)176 CALL histwrite_phy(nid_tra2,"AngstroemComp",itau_w,angst))177 178 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,totaerh2o(1,1), zx_tmp_3d)179 CALL histwrite_phy(nid_tra2,"TOTAERH2O",itau_w,totaerh2o)180 181 #endif182 #endif183 16 184 17 DO it=1,nqmax 185 18 C champs 2D 186 #ifdef INCA187 IF ( prt_flag_ts(it) == 0 ) CYCLE188 19 189 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, eflux(1,it),zx_tmp_2d)190 CALL histwrite_phy(nid_tra,"Emi_"//solsym(it),itau_w,eflux(:,it))191 192 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, dvel(1,it),zx_tmp_2d)193 CALL histwrite_phy(nid_tra,"Dep_"//solsym(it),itau_w,dvel(:,it))194 #ifdef INCA_AER195 call diag(airephy,tr_seri,.false.)196 197 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,dflux(1,it),zx_tmp_2d)198 CALL histwrite_phy(nid_tra2,"Dry_"//solsym(it),itau_w,199 . dflux(:,it))200 201 IF ((it .ge. trmx) .and. (it .le. trnx)) then202 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sflux(1,it),zx_tmp_2d)203 CALL histwrite_phy(nid_tra2,"Sed_"//solsym(it),itau_w,204 . sflux(:,it))205 206 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wflux(1,it),zx_tmp_2d)207 CALL histwrite_phy(nid_tra2,"Wet_"//solsym(it),itau_w,208 . wflux(:,it))209 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wsflux(1,it),zx_tmp_2d)210 CALL histwrite_phy(nid_tra2,"WetST_"//solsym(it),itau_w,211 . wsflux(:,it))212 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,wcflux(1,it),zx_tmp_2d)213 CALL histwrite_phy(nid_tra2,"WetCV_"//solsym(it),itau_w,214 . wcflux(:,it))215 216 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,eflux_alt(1,1,it),zx_tmp_3d)217 CALL histwrite_phy(nid_tra2,"Emi_alt_"//solsym(it),itau_w,218 . eflux_alt(:,:,it))219 220 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,aload(1,it),zx_tmp_2d)221 CALL histwrite_phy(nid_tra2,"Load_"//solsym(it),itau_w,222 . aload(:,it))223 CALL histwrite_phy(nid_tra3,"Inst_Load_"//solsym(it),itau_w,224 . aload(:,it))225 226 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,sconc(1,it),zx_tmp_2d)227 CALL histwrite_phy(nid_tra2,"SConc_"//solsym(it),itau_w,228 . sconc(:,it))229 230 do la=1,las231 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1,tausum(1,la,it),zx_tmp_2d)232 CALL histwrite_phy(nid_tra2,"OD"//cla(la)//"_"//solsym(it),233 . itau_w,tausum(:,la,it))234 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,tau(1,1,la,it),zx_tmp_3d)235 CALL histwrite_phy(nid_tra2,"OD3D"//cla(la)//"_"//solsym(it),236 . itau_w,tau(:,:,la,it))237 enddo238 239 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,md(1,1,it),zx_tmp_3d)240 CALL histwrite_phy(nid_tra2,"MD_"//solsym(it),itau_w,241 . md(:,:,it))242 243 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,mdw(1,1,it),zx_tmp_3d)244 CALL histwrite_phy(nid_tra2,"MDW_"//solsym(it),itau_w,245 . mdw(:,:,it))246 247 cym CALL gr_fi_ecrit(klev, klon,iim,jjm+1,cload(1,1,it),zx_tmp_3d)248 CALL histwrite_phy(nid_tra2,"CLOAD_"//solsym(it),249 . itau_w,cload(:,:,it))250 251 252 endif253 254 255 #endif256 C champs 3D257 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d)258 259 !Prefer vmr to mmr for transported species260 if( adv_mass(it) /= 0. ) then261 #ifdef INCA_AER262 if (it .lt. trmx) then263 #endif264 zx_tmp_fi3d = tr_seri(:,:,it) * dry_mass / adv_mass(it)265 #ifdef INCA_AER266 endif267 #endif268 else269 #ifdef INCA_CH4270 if ( solsym(it) == 'OX' ) then271 zx_tmp_fi3d = tr_seri(:,:,it) * dry_mass / nadv_mass(id_o3)272 end if273 #endif274 #ifdef INCA_NMHC275 if ( solsym(it) == 'OX' ) then276 zx_tmp_fi3d = tr_seri(:,:,it) * dry_mass / nadv_mass(id_o3)277 end if278 #endif279 end if280 281 CALL histwrite_phy(nid_tra,solsym(it),itau_w,zx_tmp_fi3d)282 #else283 20 284 21 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,tr_seri(1,1,it),zx_tmp_3d) … … 302 39 c---fin Olivia 303 40 304 #endif305 41 ENDDO 306 42 307 #ifdef INCA308 !#ifdef INCA_CH4309 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, o3_col(1), zx_tmp_2d)310 CALL histwrite_phy(nid_tra,"O3_column",itau_w,o3_col)311 312 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, co_col(1), zx_tmp_2d)313 CALL histwrite_phy(nid_tra,"CO_column",itau_w,co_col)314 315 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, ch4_col(1), zx_tmp_2d)316 CALL histwrite_phy(nid_tra,"CH4_column",itau_w,ch4_col)317 318 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, no2_col(1), zx_tmp_2d)319 CALL histwrite_phy(nid_tra,"NO2_column",itau_w,no2_col)320 321 cym CALL gr_fi_ecrit(1, klon,iim,jjm+1, o3_st_flx(1), zx_tmp_2d)322 CALL histwrite_phy(nid_tra,"O3_ste",itau_w,o3_st_flx)323 324 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,o3_prod(1,1),325 cym . zx_tmp_3d)326 CALL histwrite_phy(nid_tra,"O3_prod",itau_w,o3_prod)327 328 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,o3_loss(1,1),329 cym . zx_tmp_3d)330 CALL histwrite_phy(nid_tra,"O3_loss",itau_w,o3_loss)331 ! Ajout Anne332 #ifdef INCA_AER333 ! for sulfur cycle334 335 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsoh(1,1),336 cym . zx_tmp_3d)337 CALL histwrite_phy(nid_tra,"SO2_p_dmsoh",itau_w,SO2_p_dmsoh)338 339 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsno3(1,1),340 cym . zx_tmp_3d)341 CALL histwrite_phy(nid_tra,"SO2_p_dmsno3",itau_w,SO2_p_dmsno3)342 343 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_h2soh(1,1),344 cym . zx_tmp_3d)345 CALL histwrite_phy(nid_tra,"SO2_p_h2soh",itau_w,SO2_p_h2soh)346 347 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,SO2_p_dmsooh(1,1),348 cym . zx_tmp_3d)349 CALL histwrite_phy(nid_tra,"SO2_p_dmsooh",itau_w,SO2_p_dmsooh)350 351 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,DMSO_p_dmsoh(1,1),352 cym . zx_tmp_3d)353 CALL histwrite_phy(nid_tra,"DMSO_p_dmsoh",itau_w,DMSO_p_dmsoh)354 355 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASMSAM_p_dmsooh(1,1),356 cym . zx_tmp_3d)357 CALL histwrite_phy(nid_tra,"ASMSAM_p_dmsooh",itau_w,ASMSAM_p_dmsooh)358 359 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2oh(1,1),360 cym . zx_tmp_3d)361 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2oh",itau_w,ASSO4M_p_so2oh)362 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2h2o2(1,1),363 cym . zx_tmp_3d)364 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2h2o2",itau_w,ASSO4M_p_so2h2o2)365 366 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,ASSO4M_p_so2o3(1,1),367 cym . zx_tmp_3d)368 CALL histwrite_phy(nid_tra,"ASSO4M_p_so2o3",itau_w,ASSO4M_p_so2o3)369 370 c closing the sulfur budget371 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_so2(1,1), zx_tmp_3d)372 CALL histwrite_phy(nid_tra,"Wet3D_SO2",itau_w,wet3d_so2)373 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_dms(1,1), zx_tmp_3d)374 CALL histwrite_phy(nid_tra,"Wet3D_DMS",itau_w,wet3d_dms)375 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_hno3(1,1), zx_tmp_3d)376 CALL histwrite_phy(nid_tra,"Wet3D_HNO3",itau_w,wet3d_hno3)377 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1, wet3d_h2o2(1,1), zx_tmp_3d)378 CALL histwrite_phy(nid_tra,"Wet3D_H2O2",itau_w,wet3d_h2o2)379 380 381 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,PH_HIST(1,1),382 cym . zx_tmp_3d)383 CALL histwrite_phy(nid_tra,"PH_HIST",itau_w,PH_HIST)384 #endif385 386 #ifdef INCA_CH4387 DO it=1, grpcnt388 389 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d)390 zx_tmp_fi3d = nas(:,:,it) * dry_mass / nadv_mass(it)391 CALL histwrite_phy(nid_tra,grpsym(it),itau_w,zx_tmp_fi3d)392 ENDDO393 394 #endif395 396 397 #ifdef INCA_NMHC398 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_basprod(1,1),399 cym . zx_tmp_3d)400 CALL histwrite_phy(nid_tra,"CO2_basprod",itau_w,CO2_basprod)401 402 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_nmhcprod(1,1),403 cym . zx_tmp_3d)404 CALL histwrite_phy(nid_tra,"CO2_nmhcprod",itau_w,CO2_nmhcprod)405 406 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,CO2_radicalprod(1,1),407 cym . zx_tmp_3d)408 CALL histwrite_phy(nid_tra,"CO2_radicalprod",itau_w,409 . CO2_radicalprod)410 411 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hno3_prod(1,1),412 cym . zx_tmp_3d)413 CALL histwrite_phy(nid_tra,"HNO3_prod",itau_w,hno3_prod)414 415 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,hno3_loss(1,1),416 cym . zx_tmp_3d)417 CALL histwrite_phy(nid_tra,"HNO3_loss",itau_w,hno3_loss)418 419 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,co_prod(1,1),420 cym . zx_tmp_3d)421 CALL histwrite_phy(nid_tra,"CO_prod",itau_w,co_prod)422 423 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,co_loss(1,1),424 cym . zx_tmp_3d)425 CALL histwrite_phy(nid_tra,"CO_loss",itau_w,co_loss)426 427 DO it=1, grpcnt428 429 cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,nas(1,1,it),zx_tmp_3d)430 zx_tmp_3d = nas(:,:,it) * dry_mass / nadv_mass(it)431 CALL histwrite_phy(nid_tra,grpsym(it),itau_w,zx_tmp_fi3d)432 ENDDO433 434 435 #endif436 437 ! Fin ajout Anne438 439 ! ... Special section for daytime averaging440 ! cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,day_cnt(1,1),441 ! . zx_tmp_3d)442 ! CALL histwrite_phy(nid_tra,"day_cnt",itau_w,zx_tmp_3d,443 ! . iim*(jjm+1)*klev,ndex3d)444 ! cym CALL gr_fi_ecrit(klev,klon,iim,jjm+1,no_daytime(1,1),445 ! . zx_tmp_3d)446 ! CALL histwrite_phy(nid_tra,"NO_day",itau_w,zx_tmp_3d,447 ! . iim*(jjm+1)*klev,ndex3d)448 449 !#endif450 #else451 43 452 44 C abder … … 502 94 503 95 c abder 504 #endif505 96 506 97 if (ok_sync) then 507 98 call histsync(nid_tra) 508 #ifdef INCA_AER509 call histsync(nid_tra2)510 call histsync(nid_tra3)511 #endif512 99 endif 513 100 101 #endif 514 102 103 104
Note: See TracChangeset
for help on using the changeset viewer.