Changeset 1112
- Timestamp:
- Nov 20, 2013, 10:26:12 AM (11 years ago)
- Location:
- trunk/LMDZ.MARS/libf/phymars
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.MARS/libf/phymars/dimphys.h
r1047 r1112 2 2 ! INCLUDE 'dimphys.h' 3 3 4 ! ngridmx : number of horizontal grid points 5 ! note: the -1/jjm term will be 0; unless jj=1 6 ! integer, parameter :: ngridmx = (2+(jjm-1)*iim - 1/jjm) 4 !!! -- no longer used. just kept for reference 5 !!! ngridmx : number of horizontal grid points 6 !!! note: the -1/jjm term will be 0; unless jj=1 7 !!! integer, parameter :: ngridmx = (2+(jjm-1)*iim - 1/jjm) 7 8 ! nlayermx : number of atmospheric layers 8 9 integer, parameter :: nlayermx = llm -
trunk/LMDZ.MARS/libf/phymars/dimradmars_mod.F90
r1047 r1112 7 7 ! Splitting of horizontal grid 8 8 ! NDLO2 and ndomainsz for the splitting in the physics call 9 ! WARNING: One must have 1 < ndomainsz =< ngrid mx9 ! WARNING: One must have 1 < ndomainsz =< ngrid 10 10 integer,save :: NFLEV !=nlayermx ! with splitting 11 integer,save :: ndomainsz !=(ngrid mx-1)/20 + 111 integer,save :: ndomainsz !=(ngrid-1)/20 + 1 12 12 integer,save :: NDLON !=ndomainsz ! with splitting 13 13 integer,save :: NDLO2 !=NDLON -
trunk/LMDZ.MARS/libf/phymars/inifis.F
r1106 r1112 49 49 use tracer_mod, only : nqmx, nuice_sed, ccn_factor 50 50 use comsoil_h, only: ini_comsoil_h 51 #ifdef MESOSCALE52 use comsoil_h, only: volcapa !!MESOSCALE -- needed to fill volcapa53 #endif54 51 use comgeomfi_h, only: long, lati, area, totarea 55 52 use comdiurn_h, only: sinlat, coslat, sinlon, coslon … … 62 59 use yomlw_h, only: ini_yomlw_h 63 60 use conc_mod, only: ini_conc_mod 61 62 #ifdef MESOSCALE 63 !! see meso_inc_inifisini.F 64 use surfdat_h, only: emissiv,albedice,iceradius, 65 & emisice,dtemisice, 66 & z0_default,z0, 67 & albedodat,phisfi, 68 & zmea,zstd,zsig,zgam,zthe 69 use slope_mod, only: theta_sl,psi_sl 70 use comsoil_h, only: volcapa !!MESOSCALE -- needed to fill volcapa 71 #endif 72 73 64 74 IMPLICIT NONE 65 75 #include "dimensions.h" … … 80 90 ! naerkind is set in scatterers.h (built when compiling with makegcm -s #) 81 91 #include"scatterers.h" 92 82 93 #ifdef MESOSCALE 83 !#include "comsoil.h" !!MESOSCALE -- needed to fill volcapa84 94 #include "meso_inc/meso_inc_inifisvar.F" 85 95 #endif … … 115 125 nqmx=nq 116 126 117 #ifdef MESOSCALE118 #include "meso_inc/meso_inc_inifisini.F"119 #endif120 121 127 ! -------------------------------------------------------- 122 128 ! The usual Tests … … 127 133 ! PRINT*,'nlayer = ',nlayer 128 134 ! PRINT*,'nlayermx = ',nlayermx 129 ! STOP130 ! ENDIF131 132 ! IF (ngrid.NE.ngridmx) THEN133 ! PRINT*,'STOP in inifis'134 ! PRINT*,'Probleme de dimensions :'135 ! PRINT*,'ngrid = ',ngrid136 ! PRINT*,'ngridmx = ',ngridmx137 135 ! STOP 138 136 ! ENDIF … … 848 846 ! allocate arrays in "conc_mod" 849 847 call ini_conc_mod(ngrid,nlayer) 850 848 849 !! MESOSCALE INITIALIZATIONS 850 #ifdef MESOSCALE 851 #include "meso_inc/meso_inc_inifisini.F" 852 #endif 853 851 854 END -
trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_dimphys.h_ref
r226 r1112 2 2 ! INCLUDE 'dimphys.h' 3 3 4 5 INTEGER, parameter :: wiim=--xsize--6 INTEGER, parameter :: wjjm=--ysize--7 INTEGER, PARAMETER :: ngridmx=--physize--8 4 INTEGER, parameter :: nlayermx=--zsize-- 9 INTEGER, PARAMETER :: nsoilmx=--soilsize--10 5 11 6 !----------------------------------------------------------------------- -
trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_inc_caps.F
r285 r1112 24 24 !! Perennial H20 north cap defined by watercaptag=true (allows surface to be 25 25 !! hollowed by sublimation in vdifc). 26 do ig=1,ngrid mx26 do ig=1,ngrid 27 27 qsurf(ig,igcm_h2o_ice)=0. !! on jette les inputs GCM 28 28 if ( ( lati(ig)*180./pi .gt. 70. ) .and. … … 34 34 dryness(ig) = 1. 35 35 endif ! (lati, albedodat) 36 end do ! (ngrid mx)36 end do ! (ngrid) 37 37 ELSE ! (caps) 38 38 print *,'Blork !!!' -
trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_inc_ini.F
r1038 r1112 14 14 c 15 15 tsurf(:)=wtsurf(:) 16 PRINT*,'check: tsurf ',tsurf(1),tsurf(ngrid mx)16 PRINT*,'check: tsurf ',tsurf(1),tsurf(ngrid) 17 17 tsoil(:,:)=wtsoil(:,:) 18 PRINT*,'check: tsoil ',tsoil(1,1),tsoil(ngrid mx,nsoilmx)18 PRINT*,'check: tsoil ',tsoil(1,1),tsoil(ngrid,nsoilmx) 19 19 c !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 20 20 c !!!new physics … … 23 23 c PRINT*, 'check z0 ', z0(1) 24 24 inertiedat(:,:)=wisoil(:,:) 25 PRINT*,'check: inert ',inertiedat(1,1),inertiedat(ngrid mx,nsoilmx)25 PRINT*,'check: inert ',inertiedat(1,1),inertiedat(ngrid,nsoilmx) 26 26 mlayer(0:nsoilmx-1)=wdsoil(1,:) 27 27 PRINT*,'check: midlayer ', mlayer(:) … … 46 46 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 47 47 emis(:)=wemis(:) 48 PRINT*,'check: emis ',emis(1),emis(ngrid mx)48 PRINT*,'check: emis ',emis(1),emis(ngrid) 49 49 q2(:,:)=wq2(:,:) 50 PRINT*,'check: q2 ',q2(1,1),q2(ngrid mx,nlayermx+1)50 PRINT*,'check: q2 ',q2(1,1),q2(ngrid,nlayermx+1) 51 51 qsurf(:,:)=wqsurf(:,:) 52 PRINT*,'check: qsurf ',qsurf(1,1),qsurf(ngrid mx,nq)52 PRINT*,'check: qsurf ',qsurf(1,1),qsurf(ngrid,nq) 53 53 co2ice(:)=wco2ice(:) 54 PRINT*,'check: co2 ',co2ice(1),co2ice(ngrid mx)54 PRINT*,'check: co2 ',co2ice(1),co2ice(ngrid) 55 55 day_ini=wday_ini 56 56 … … 79 79 !!!! 80 80 !IF ( caps .and. water ) THEN 81 ! do ig=1,ngrid mx81 ! do ig=1,ngrid 82 82 ! if ( lati(ig)*180./pi .gt. lat_lim ) then 83 83 ! if ( albedodat(ig) .ge. alb_lim ) then … … 89 89 ! endif 90 90 ! endif ! (lati, albedodat) 91 ! end do ! (ngrid mx)91 ! end do ! (ngrid) 92 92 !ENDIF ! (caps) -
trunk/LMDZ.MARS/libf/phymars/meso_inc/meso_inc_var.F
r1038 r1112 1 1 INTEGER wday_ini 2 REAL wtsurf(ngrid mx) ! input only ay firstcall - output3 REAL wtsoil(ngrid mx,nsoilmx)4 REAL wisoil(ngrid mx,nsoilmx) !! new soil scheme5 REAL wdsoil(ngrid mx,nsoilmx) !! new soil scheme6 REAL wco2ice(ngrid mx)7 REAL wemis(ngrid mx)8 REAL wqsurf(ngrid mx,nq)9 REAL wq2(ngrid mx,nlayermx+1)10 REAL wwstar(ngrid mx)11 REAL wfluxrad(ngrid mx)12 REAL output_tab2d(ngrid mx,n2d)13 REAL output_tab3d(ngrid mx,nlayer,n3d)14 REAL sensheat(ngrid mx) !! pour LES avec isfflx!=015 !REAL ustar(ngrid mx) !! pour LES avec isfflx!=0 !! already defined2 REAL wtsurf(ngrid) ! input only ay firstcall - output 3 REAL wtsoil(ngrid,nsoilmx) 4 REAL wisoil(ngrid,nsoilmx) !! new soil scheme 5 REAL wdsoil(ngrid,nsoilmx) !! new soil scheme 6 REAL wco2ice(ngrid) 7 REAL wemis(ngrid) 8 REAL wqsurf(ngrid,nq) 9 REAL wq2(ngrid,nlayermx+1) 10 REAL wwstar(ngrid) 11 REAL wfluxrad(ngrid) 12 REAL output_tab2d(ngrid,n2d) 13 REAL output_tab3d(ngrid,nlayer,n3d) 14 REAL sensheat(ngrid) !! pour LES avec isfflx!=0 15 !REAL ustar(ngrid) !! pour LES avec isfflx!=0 !! already defined 16 16 LOGICAL flag_LES !! pour LES avec isfflx!=0 17 REAL qsurfice(ngrid mx) !! pour diagnostics17 REAL qsurfice(ngrid) !! pour diagnostics 18 18 real alpha,lay1 ! coefficients for building layers 19 19 integer iloop … … 22 22 23 23 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! JF 24 REAL qsurfdust(ngrid mx) ! useful for dust diagnostics25 REAL TAU_lay(ngrid mx) ! true opacity (it's not e reference life tauref)26 REAL dsodust(ngrid mx,nlayermx)27 REAL zdqsdif_diag(ngrid mx) ! useful for lifting diagnostics28 REAL zdqssed_diag(ngrid mx) ! useful for sedimentation diagnostics29 REAL pdq_diag(ngrid mx) ! useful for dust perturbation diagnostics30 REAL dustot(ngrid mx) ! Total mass of dust integrated along vertical axe (kg/m2)31 REAL zdqnorm(ngrid mx,nlayermx,2)24 REAL qsurfdust(ngrid) ! useful for dust diagnostics 25 REAL TAU_lay(ngrid) ! true opacity (it's not e reference life tauref) 26 REAL dsodust(ngrid,nlayermx) 27 REAL zdqsdif_diag(ngrid) ! useful for lifting diagnostics 28 REAL zdqssed_diag(ngrid) ! useful for sedimentation diagnostics 29 REAL pdq_diag(ngrid) ! useful for dust perturbation diagnostics 30 REAL dustot(ngrid) ! Total mass of dust integrated along vertical axe (kg/m2) 31 REAL zdqnorm(ngrid,nlayermx,2) 32 32 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! JF -
trunk/LMDZ.MARS/libf/phymars/physiq.F
r1047 r1112 28 28 use slope_mod, only: theta_sl, psi_sl 29 29 use conc_mod, only: rnew, cpnew, mmean 30 31 #ifdef MESOSCALE 32 use comsoil_h, only: mlayer,layer 33 use surfdat_h, only: z0_default 34 #endif 35 30 36 IMPLICIT NONE 31 37 c======================================================================= -
trunk/LMDZ.MARS/libf/phymars/tabfi.F
r1047 r1112 229 229 write(*,*) 'Reading tab_cntrl when calling tabfi before changes' 230 230 write(*,*) '*****************************************************' 231 write(*,5) '(1) = ngridmx?',tab_cntrl(tab0+1)!,real(ngridmx)231 write(*,5) '(1) = ngrid?',tab_cntrl(tab0+1) 232 232 write(*,5) '(2) lmax',tab_cntrl(tab0+2),real(lmax) 233 233 write(*,5) '(3) day_ini',tab_cntrl(tab0+3),real(day_ini) … … 495 495 write(*,*) 'Reading tab_cntrl when calling tabfi AFTER changes' 496 496 write(*,*) '*****************************************************' 497 write(*,5) '(1) = ngridmx?',tab_cntrl(tab0+1)!,real(ngridmx)497 write(*,5) '(1) = ngrid?',tab_cntrl(tab0+1) 498 498 write(*,5) '(2) lmax',tab_cntrl(tab0+2),real(lmax) 499 499 write(*,5) '(3) day_ini',tab_cntrl(tab0+3),real(day_ini) -
trunk/LMDZ.MARS/libf/phymars/testphys1d.F
r1047 r1112 663 663 c It is needed to transfert physics variables to "physiq"... 664 664 665 call physdem0("startfi.nc",long,lati,nsoilmx,ngrid mx,llm,nq,665 call physdem0("startfi.nc",long,lati,nsoilmx,ngrid,llm,nq, 666 666 . dtphys,float(day0),time,area, 667 667 . albedodat,inertiedat,zmea,zstd,zsig,zgam,zthe) 668 call physdem1("startfi.nc",nsoilmx,ngrid mx,llm,nq,668 call physdem1("startfi.nc",nsoilmx,ngrid,llm,nq, 669 669 . dtphys,time, 670 670 . tsurf,tsoil,co2ice,emis,q2,qsurf)
Note: See TracChangeset
for help on using the changeset viewer.