Changeset 5090 for LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat
- Timestamp:
- Jul 20, 2024, 6:08:57 PM (6 months ago)
- Location:
- LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/calfis.F
r5086 r5090 27 27 $ pdpsfi) 28 28 c 29 c Auteur : P. Le Van, F. Hourdin 29 c Auteur : P. Le Van, F. Hourdin 30 30 c ......... 31 31 USE infotrac, ONLY: nqtot, tracers 32 32 USE control_mod, ONLY: planet_type, nsplit_phys 33 #ifdef CPP_PHYS34 33 USE callphysiq_mod, ONLY: call_physiq 35 #endif 34 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 36 35 USE comconst_mod, ONLY: cpp, daysec, dtphys, dtvr, kappa, pi 37 36 USE comvert_mod, ONLY: preff, presnivs 38 37 39 38 IMPLICIT NONE 40 39 c======================================================================= … … 48 47 c ---------- 49 48 c 50 c - les vents sont donnes dans la physique par leurs composantes 49 c - les vents sont donnes dans la physique par leurs composantes 51 50 c naturelles. 52 51 c - la variable thermodynamique de la physique est une variable 53 c intensive : T 52 c intensive : T 54 53 c pour la dynamique on prend T * ( preff / p(l) ) **kappa 55 54 c - les deux seules variables dependant de la geometrie necessaires 56 c pour la physique sont la latitude pour le rayonnement et 57 c l'aire de la maille quand on veut integrer une grandeur 55 c pour la physique sont la latitude pour le rayonnement et 56 c l'aire de la maille quand on veut integrer une grandeur 58 57 c horizontalement. 59 c - les points de la physique sont les points scalaires de la 58 c - les points de la physique sont les points scalaires de la 60 59 c la dynamique; numerotation: 61 60 c 1 pour le pole nord … … 67 66 c ------- 68 67 c pucov covariant zonal velocity 69 c pvcov covariant meridional velocity 68 c pvcov covariant meridional velocity 70 69 c pteta potential temperature 71 70 c pps surface pressure … … 77 76 c -------- 78 77 c pdufi tendency for the natural zonal velocity (ms-1) 79 c pdvfi tendency for the natural meridional velocity 78 c pdvfi tendency for the natural meridional velocity 80 79 c pdhfi tendency for the potential temperature 81 80 c pdtsfi tendency for the surface temperature … … 165 164 REAL flxwfi(ngridmx,llm) ! Flux de masse verticale sur la grille physiq 166 165 c 167 166 168 167 REAL SSUM 169 168 … … 201 200 c ---------------------------------- 202 201 203 202 204 203 zpsrf(1) = pps(1,1) 205 204 … … 217 216 c ----------------------------------------------------------------- 218 217 c .... zplev definis aux (llm +1) interfaces des couches .... 219 c .... zplay definis aux ( llm ) milieux des couches .... 218 c .... zplay definis aux ( llm ) milieux des couches .... 220 219 c ----------------------------------------------------------------- 221 220 … … 329 328 330 329 c .... Calcul de la vitesse verticale ( en Pa*m*s ou Kg/s ) .... 331 c JG : ancien calcule de omega utilise dans physiq.F. Maintenant le flux 332 c de masse est calclue dans advtrac.F 330 c JG : ancien calcule de omega utilise dans physiq.F. Maintenant le flux 331 c de masse est calclue dans advtrac.F 333 332 c DO l=1,llm 334 333 c pvervel(1,l)=pw(1,1,l) * g /apoln … … 351 350 DO j=2,jjm 352 351 ig0 = 1+(j-2)*iim 353 zufi(ig0+1,l)= 0.5 * 352 zufi(ig0+1,l)= 0.5 * 354 353 $ ( pucov(iim,j,l)/cu(iim,j) + pucov(1,j,l)/cu(1,j) ) 355 pcvgu(ig0+1,l)= 0.5 * 354 pcvgu(ig0+1,l)= 0.5 * 356 355 $ ( pducov(iim,j,l)/cu(iim,j) + pducov(1,j,l)/cu(1,j) ) 357 356 DO i=2,iim … … 373 372 do j=1,jjm 374 373 zrot(i,j,l) = (pvcov(i+1,j,l) - pvcov(i,j,l) 375 $ + pucov(i,j+1,l) - pucov(i,j,l)) 376 $ / (cu(i,j)+cu(i,j+1)) 374 $ + pucov(i,j+1,l) - pucov(i,j,l)) 375 $ / (cu(i,j)+cu(i,j+1)) 377 376 $ / (cv(i+1,j)+cv(i,j)) *4 378 377 enddo … … 402 401 403 402 404 c 47. champs de vents aux pole nord 403 c 47. champs de vents aux pole nord 405 404 c ------------------------------ 406 405 c U = 1 / pi * integrale [ v * cos(long) * d long ] … … 475 474 zdqfic(:,:,:)=0. 476 475 477 #ifdef CPP_PHYS 476 IF (CPPKEY_PHYS) THEN 478 477 479 478 do isplit=1,nsplit_phys … … 500 499 ! . nqtot, !! nq 501 500 ! . tracers(:)%name,!! tracer names from dynamical core (given in infotrac) 502 ! . debut_split, !! firstcall 501 ! . debut_split, !! firstcall 503 502 ! . lafin_split, !! lastcall 504 503 ! . jD_cur, !! pday. see leapfrog … … 534 533 enddo ! of do isplit=1,nsplit_phys 535 534 536 #endif 537 ! of #ifdef CPP_PHYS 535 END IF 538 536 539 537 zdufi(:,:)=zdufic(:,:)/nsplit_phys … … 541 539 zdtfi(:,:)=zdtfic(:,:)/nsplit_phys 542 540 zdqfi(:,:,:)=zdqfic(:,:,:)/nsplit_phys 543 544 545 500 CONTINUE546 541 547 542 c----------------------------------------------------------------------- … … 681 676 682 677 c----------------------------------------------------------------------- 683 684 700 CONTINUE685 686 678 firstcal = .FALSE. 687 679 -
LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/lmdz_calfis_loc.F90
r5066 r5090 28 28 pdqfi, & 29 29 pdpsfi) 30 #ifdef CPP_PHYS 31 ! If using physics 32 ! 33 ! Auteur : P. Le Van, F. Hourdin 34 ! ......... 30 35 31 USE dimphy 36 32 USE mod_phys_lmdz_mpi_data, mpi_root_xx=>mpi_master … … 39 35 USE mod_interface_dyn_phys 40 36 USE IOPHY 41 #endif 37 42 38 USE lmdz_mpi 43 39 … … 49 45 USE infotrac, ONLY : nqtot, tracers 50 46 USE control_mod, ONLY : planet_type, nsplit_phys 51 #ifdef CPP_PHYS52 47 USE callphysiq_mod, ONLY: call_physiq 53 #endif 48 USE lmdz_cppkeys_wrapper, ONLY: CPPKEY_PHYS 49 54 50 USE comvert_mod, ONLY : preff, presnivs 55 51 USE comconst_mod, ONLY : cpp, daysec, dtphys, dtvr, kappa, pi … … 146 142 REAL, INTENT(OUT) :: pdpsfi(iip1, jjb_u:jje_u) ! tendency on surface pressure (Pa/s) 147 143 148 #ifdef CPP_PHYS 144 149 145 ! Ehouarn: for now calfis_p needs some informations from physics to compile 150 146 ! Local variables : … … 237 233 INTEGER :: jjb,jje 238 234 235 IF (CPPKEY_PHYS) THEN 236 239 237 ! 240 238 !----------------------------------------------------------------------- … … 249 247 IF ( firstcal ) THEN 250 248 debut = .TRUE. 251 IF (ngridmx .NE.2+(jjm-1)*iim) THEN249 IF (ngridmx/=2+(jjm-1)*iim) THEN 252 250 write(lunout,*) 'STOP dans calfis' 253 251 write(lunout,*) & … … 719 717 zdqfic_omp(:,:,:)=0. 720 718 721 #ifdef CPP_PHYS722 719 do isplit=1,nsplit_phys 723 720 … … 750 747 enddo 751 748 752 #endif753 ! of #ifdef CPP_PHYS754 755 749 756 750 zdufi_omp(:,:)=zdufic_omp(:,:)/nsplit_phys … … 847 841 848 842 klon=klon_mpi 849 500 CONTINUE850 843 !$OMP BARRIER 851 844 … … 1204 1197 !----------------------------------------------------------------------- 1205 1198 1206 700 CONTINUE1207 1208 1199 firstcal = .FALSE. 1209 #endif 1210 ! of #ifdef CPP_PHYS 1200 END IF 1211 1201 END SUBROUTINE calfis_loc 1212 1202 -
LMDZ6/branches/Amaury_dev/libf/dynphy_lonlat/phylmd/limit_netcdf.F90
r5088 r5090 76 76 NF90_CLOBBER, NF90_ENDDEF, NF90_UNLIMITED, NF90_FLOAT, & 77 77 NF90_64BIT_OFFSET 78 USE lmdz_ netcdf_format, ONLY: nf90_format78 USE lmdz_cppkeys_wrapper, ONLY: nf90_format 79 79 USE inter_barxy_m, ONLY: inter_barxy 80 80 USE netcdf95, ONLY: nf95_def_var, nf95_put_att, nf95_put_var
Note: See TracChangeset
for help on using the changeset viewer.