Changeset 711
- Timestamp:
- Jun 29, 2012, 8:46:10 AM (13 years ago)
- Location:
- trunk/LMDZ.GENERIC
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.GENERIC/README
r699 r711 684 684 and also added option "q=profile" to initialize a tracer with a profile 685 685 read from file "profile_tracername" 686 687 == 29/06/2012 == EM 688 - Some cleanup in start2archive.F and ini_archive.F to get them to work for 689 the generic model (removed some "Martian" specificities). -
trunk/LMDZ.GENERIC/libf/dyn3d/ini_archive.F
r536 r711 1 1 c======================================================================= 2 subroutine ini_archive(nid,idayref,phis,ith,tab_cntrl_fi) 2 subroutine ini_archive(nid,idayref,phis,ith,tab_cntrl_fi, 3 & tab_cntrl_dyn) 3 4 c======================================================================= 4 5 c … … 72 73 real ith(ip1jmp1,nsoilmx) 73 74 REAL tab_cntrl_fi(length) 75 REAL tab_cntrl_dyn(length) 74 76 75 77 !Mars --------Ajouts----------- … … 95 97 tab_cntrl(l)=0. 96 98 ENDDO 97 98 print*,'WARNING: ini_archive.F not generalised to generic model' 99 print*,'(assumption of mugaz=43.49 hard-coded)' 100 stop 99 100 tab_cntrl(1:50)=tab_cntrl_dyn(1:50) 101 101 102 102 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 103 tab_cntrl(1) = FLOAT(iim) ! nombre de points en longitude104 tab_cntrl(2) = FLOAT(jjm) ! nombre de points en latitude105 tab_cntrl(3) = FLOAT(llm) ! nombre de couches106 tab_cntrl(4) = FLOAT(idayref) ! jour 0107 tab_cntrl(5) = rad ! rayon de mars(m) ~3397200108 tab_cntrl(6) = omeg ! vitesse de rotation (rad.s-1)109 tab_cntrl(7) = g ! gravite (m.s-2) ~3.72110 tab_cntrl(8) = cpp111 tab_cntrl(8) = 43.49 !mars temporaire Masse molaire de l''atm (g.mol-1) ~43.49112 tab_cntrl(9) = kappa ! = r/cp ~0.256793 (=rcp dans physique)113 tab_cntrl(10) = daysec ! duree du sol (s) ~88775114 tab_cntrl(11) = dtvr ! pas de temps de la dynamique (s)115 tab_cntrl(12) = etot0 ! energie totale !116 tab_cntrl(13) = ptot0 ! pression totalei ! variables117 tab_cntrl(14) = ztot0 ! enstrophie totale ! de controle118 tab_cntrl(15) = stot0 ! enthalpie totale ! globales119 tab_cntrl(16) = ang0 ! moment cinetique !120 tab_cntrl(17) = pa121 tab_cntrl(18) = preff103 ! tab_cntrl(1) = FLOAT(iim) ! nombre de points en longitude 104 ! tab_cntrl(2) = FLOAT(jjm) ! nombre de points en latitude 105 ! tab_cntrl(3) = FLOAT(llm) ! nombre de couches 106 ! tab_cntrl(4) = FLOAT(idayref) ! jour 0 107 ! tab_cntrl(5) = rad ! rayon de mars(m) ~3397200 108 ! tab_cntrl(6) = omeg ! vitesse de rotation (rad.s-1) 109 ! tab_cntrl(7) = g ! gravite (m.s-2) ~3.72 110 ! tab_cntrl(8) = cpp 111 ! tab_cntrl(8) = 43.49 !mars temporaire Masse molaire de l''atm (g.mol-1) ~43.49 112 ! tab_cntrl(9) = kappa ! = r/cp ~0.256793 (=rcp dans physique) 113 ! tab_cntrl(10) = daysec ! duree du sol (s) ~88775 114 ! tab_cntrl(11) = dtvr ! pas de temps de la dynamique (s) 115 ! tab_cntrl(12) = etot0 ! energie totale ! 116 ! tab_cntrl(13) = ptot0 ! pression totalei ! variables 117 ! tab_cntrl(14) = ztot0 ! enstrophie totale ! de controle 118 ! tab_cntrl(15) = stot0 ! enthalpie totale ! globales 119 ! tab_cntrl(16) = ang0 ! moment cinetique ! 120 ! tab_cntrl(17) = pa 121 ! tab_cntrl(18) = preff 122 122 123 123 c ..... parametres pour le zoom ...... 124 124 125 tab_cntrl(19) = clon ! longitude en degres du centre du zoom126 tab_cntrl(20) = clat ! latitude en degres du centre du zoom127 tab_cntrl(21) = grossismx ! facteur de grossissement du zoom,selon longitude128 tab_cntrl(22) = grossismy ! facteur de grossissement du zoom ,selon latitude129 130 IF ( fxyhypb ) THEN131 tab_cntrl(23) = 1.132 tab_cntrl(24) = dzoomx ! extension en longitude de la zone du zoom133 tab_cntrl(25) = dzoomy ! extension en latitude de la zone du zoom134 ELSE135 tab_cntrl(23) = 0.136 tab_cntrl(24) = dzoomx ! extension en longitude de la zone du zoom137 tab_cntrl(25) = dzoomy ! extension en latitude de la zone du zoom138 tab_cntrl(26) = 0.139 IF ( ysinus) tab_cntrl(26) = 1.140 ENDIF125 ! tab_cntrl(19) = clon ! longitude en degres du centre du zoom 126 ! tab_cntrl(20) = clat ! latitude en degres du centre du zoom 127 ! tab_cntrl(21) = grossismx ! facteur de grossissement du zoom,selon longitude 128 ! tab_cntrl(22) = grossismy ! facteur de grossissement du zoom ,selon latitude 129 130 ! IF ( fxyhypb ) THEN 131 ! tab_cntrl(23) = 1. 132 ! tab_cntrl(24) = dzoomx ! extension en longitude de la zone du zoom 133 ! tab_cntrl(25) = dzoomy ! extension en latitude de la zone du zoom 134 ! ELSE 135 ! tab_cntrl(23) = 0. 136 ! tab_cntrl(24) = dzoomx ! extension en longitude de la zone du zoom 137 ! tab_cntrl(25) = dzoomy ! extension en latitude de la zone du zoom 138 ! tab_cntrl(26) = 0. 139 ! IF ( ysinus) tab_cntrl(26) = 1. 140 ! ENDIF 141 141 142 142 c----------------------------------------------------------------------- 143 143 c Copie du tableau des parametres de controle du RUN (physique) 144 c dans le tableau dynamique144 c dans le tableau tab_cntrl 145 145 c----------------------------------------------------------------------- 146 146 … … 522 522 #endif 523 523 524 PRINT*,'i im,jjm,llm,idayref',iim,jjm,llm,idayref525 PRINT*,' rad,omeg,g,mugaz,kappa',526 s rad,omeg,g, 43.49,kappa !mars temporaire (ecrire mugaz ensuite)527 PRINT*,' daysec,dtvr',daysec,dtvr524 PRINT*,'ini_archive: iim,jjm,llm,idayref',iim,jjm,llm,idayref 525 PRINT*,'ini_archive: rad,omeg,g,mugaz,kappa', 526 s rad,omeg,g,tab_cntrl_fi(8),kappa 527 PRINT*,'ini_archive: daysec,dtvr',daysec,dtvr 528 528 529 529 RETURN -
trunk/LMDZ.GENERIC/libf/dyn3d/start2archive.F
r253 r711 35 35 #include "dimphys.h" 36 36 #include "comsoil.h" 37 #include "planete.h" 37 38 #include"advtrac.h" 38 39 #include "netcdf.inc" … … 66 67 PARAMETER (length = 100) 67 68 REAL tab_cntrl_fi(length) ! tableau des parametres de startfi 69 REAL tab_cntrl_dyn(length) ! tableau des parametres de start 68 70 INTEGER*4 day_ini_fi 69 71 … … 131 133 . ps,phis,timedyn) 132 134 135 ! load 'controle' array from dynamics start file 136 137 ierr = NF_OPEN (fichnom, NF_NOWRITE,nid1) 138 IF (ierr.NE.NF_NOERR) THEN 139 write(6,*)' Pb d''ouverture du fichier'//trim(fichnom) 140 CALL ABORT 141 ENDIF 142 143 ierr = NF_INQ_VARID (nid1, "controle", varid) 144 IF (ierr .NE. NF_NOERR) THEN 145 PRINT*, "start2archive: Le champ <controle> est absent" 146 CALL abort 147 ENDIF 148 #ifdef NC_DOUBLE 149 ierr = NF_GET_VAR_DOUBLE(nid1, varid, tab_cntrl_dyn) 150 #else 151 ierr = NF_GET_VAR_REAL(nid1, varid, tab_cntrl_dyn) 152 #endif 153 IF (ierr .NE. NF_NOERR) THEN 154 PRINT*, "start2archive: Lecture echoue pour <controle>" 155 CALL abort 156 ENDIF 157 158 ierr = NF_CLOSE(nid1) 159 133 160 134 161 fichnom = 'startfi.nc' … … 141 168 142 169 170 ! load 'controle' array from physics start file 143 171 144 172 ierr = NF_OPEN (fichnom, NF_NOWRITE,nid1) 145 173 IF (ierr.NE.NF_NOERR) THEN 146 write(6,*)' Pb d''ouverture du fichier'// fichnom174 write(6,*)' Pb d''ouverture du fichier'//trim(fichnom) 147 175 CALL ABORT 148 176 ENDIF … … 165 193 ierr = NF_CLOSE(nid1) 166 194 195 167 196 c----------------------------------------------------------------------- 168 197 c Controle de la synchro … … 175 204 c ***************************************************************** 176 205 c Option : Reinitialisation des dates dans la premieres annees : 177 do while (day_ini.ge. 669)178 day_ini=day_ini- 669206 do while (day_ini.ge.year_day) 207 day_ini=day_ini-year_day 179 208 enddo 180 209 c ***************************************************************** … … 298 327 write(*,*)'So let s create a new "start_archive"' 299 328 ierr = NF_CREATE('start_archive.nc', NF_CLOBBER, nid) 300 call ini_archive(nid,day_ini,phis,ithS,tab_cntrl_fi) 329 call ini_archive(nid,day_ini,phis,ithS,tab_cntrl_fi, 330 & tab_cntrl_dyn) 301 331 endif 302 332
Note: See TracChangeset
for help on using the changeset viewer.