Changeset 1380 for LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d
- Timestamp:
- May 6, 2010, 2:24:59 PM (14 years ago)
- Location:
- LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/dynetat0.F
r1146 r1380 1 1 ! 2 ! $ Header$2 ! $Id $ 3 3 ! 4 4 SUBROUTINE dynetat0(fichnom,vcov,ucov, … … 34 34 #include "serre.h" 35 35 #include "logic.h" 36 #include "iniprint.h" 36 37 37 38 c Arguments: … … 58 59 ierr = NF_OPEN (fichnom, NF_NOWRITE,nid) 59 60 IF (ierr.NE.NF_NOERR) THEN 60 write( 6,*)'Pb d''ouverture du fichier start.nc'61 write( 6,*)' ierr = ', ierr61 write(lunout,*)'dynetat0: Pb d''ouverture du fichier start.nc' 62 write(lunout,*)' ierr = ', ierr 62 63 CALL ABORT 63 64 ENDIF … … 66 67 ierr = NF_INQ_VARID (nid, "controle", nvarid) 67 68 IF (ierr .NE. NF_NOERR) THEN 68 PRINT*,"dynetat0: Le champ <controle> est absent"69 write(lunout,*)"dynetat0: Le champ <controle> est absent" 69 70 CALL abort 70 71 ENDIF … … 75 76 #endif 76 77 IF (ierr .NE. NF_NOERR) THEN 77 PRINT*,"dynetat0: Lecture echoue pour <controle>"78 write(lunout,*)"dynetat0: Lecture echoue pour <controle>" 78 79 CALL abort 79 80 ENDIF … … 121 122 c 122 123 c 123 PRINT*,'rad,omeg,g,cpp,kappa',rad,omeg,g,cpp,kappa 124 write(lunout,*)'dynetat0: rad,omeg,g,cpp,kappa', 125 & rad,omeg,g,cpp,kappa 124 126 125 127 IF( im.ne.iim ) THEN … … 136 138 ierr = NF_INQ_VARID (nid, "rlonu", nvarid) 137 139 IF (ierr .NE. NF_NOERR) THEN 138 PRINT*,"dynetat0: Le champ <rlonu> est absent"140 write(lunout,*)"dynetat0: Le champ <rlonu> est absent" 139 141 CALL abort 140 142 ENDIF … … 145 147 #endif 146 148 IF (ierr .NE. NF_NOERR) THEN 147 PRINT*,"dynetat0: Lecture echouee pour <rlonu>"149 write(lunout,*)"dynetat0: Lecture echouee pour <rlonu>" 148 150 CALL abort 149 151 ENDIF … … 151 153 ierr = NF_INQ_VARID (nid, "rlatu", nvarid) 152 154 IF (ierr .NE. NF_NOERR) THEN 153 PRINT*,"dynetat0: Le champ <rlatu> est absent"155 write(lunout,*)"dynetat0: Le champ <rlatu> est absent" 154 156 CALL abort 155 157 ENDIF … … 160 162 #endif 161 163 IF (ierr .NE. NF_NOERR) THEN 162 PRINT*,"dynetat0: Lecture echouee pour <rlatu>"164 write(lunout,*)"dynetat0: Lecture echouee pour <rlatu>" 163 165 CALL abort 164 166 ENDIF … … 166 168 ierr = NF_INQ_VARID (nid, "rlonv", nvarid) 167 169 IF (ierr .NE. NF_NOERR) THEN 168 PRINT*,"dynetat0: Le champ <rlonv> est absent"170 write(lunout,*)"dynetat0: Le champ <rlonv> est absent" 169 171 CALL abort 170 172 ENDIF … … 175 177 #endif 176 178 IF (ierr .NE. NF_NOERR) THEN 177 PRINT*,"dynetat0: Lecture echouee pour <rlonv>"179 write(lunout,*)"dynetat0: Lecture echouee pour <rlonv>" 178 180 CALL abort 179 181 ENDIF … … 181 183 ierr = NF_INQ_VARID (nid, "rlatv", nvarid) 182 184 IF (ierr .NE. NF_NOERR) THEN 183 PRINT*,"dynetat0: Le champ <rlatv> est absent"185 write(lunout,*)"dynetat0: Le champ <rlatv> est absent" 184 186 CALL abort 185 187 ENDIF … … 190 192 #endif 191 193 IF (ierr .NE. NF_NOERR) THEN 192 PRINT*,"dynetat0: Lecture echouee pour rlatv"194 write(lunout,*)"dynetat0: Lecture echouee pour rlatv" 193 195 CALL abort 194 196 ENDIF … … 196 198 ierr = NF_INQ_VARID (nid, "cu", nvarid) 197 199 IF (ierr .NE. NF_NOERR) THEN 198 PRINT*,"dynetat0: Le champ <cu> est absent"200 write(lunout,*)"dynetat0: Le champ <cu> est absent" 199 201 CALL abort 200 202 ENDIF … … 205 207 #endif 206 208 IF (ierr .NE. NF_NOERR) THEN 207 PRINT*,"dynetat0: Lecture echouee pour <cu>"209 write(lunout,*)"dynetat0: Lecture echouee pour <cu>" 208 210 CALL abort 209 211 ENDIF … … 211 213 ierr = NF_INQ_VARID (nid, "cv", nvarid) 212 214 IF (ierr .NE. NF_NOERR) THEN 213 PRINT*,"dynetat0: Le champ <cv> est absent"215 write(lunout,*)"dynetat0: Le champ <cv> est absent" 214 216 CALL abort 215 217 ENDIF … … 220 222 #endif 221 223 IF (ierr .NE. NF_NOERR) THEN 222 PRINT*,"dynetat0: Lecture echouee pour <cv>"224 write(lunout,*)"dynetat0: Lecture echouee pour <cv>" 223 225 CALL abort 224 226 ENDIF … … 226 228 ierr = NF_INQ_VARID (nid, "aire", nvarid) 227 229 IF (ierr .NE. NF_NOERR) THEN 228 PRINT*,"dynetat0: Le champ <aire> est absent"230 write(lunout,*)"dynetat0: Le champ <aire> est absent" 229 231 CALL abort 230 232 ENDIF … … 235 237 #endif 236 238 IF (ierr .NE. NF_NOERR) THEN 237 PRINT*,"dynetat0: Lecture echouee pour <aire>"239 write(lunout,*)"dynetat0: Lecture echouee pour <aire>" 238 240 CALL abort 239 241 ENDIF … … 241 243 ierr = NF_INQ_VARID (nid, "phisinit", nvarid) 242 244 IF (ierr .NE. NF_NOERR) THEN 243 PRINT*,"dynetat0: Le champ <phisinit> est absent"245 write(lunout,*)"dynetat0: Le champ <phisinit> est absent" 244 246 CALL abort 245 247 ENDIF … … 250 252 #endif 251 253 IF (ierr .NE. NF_NOERR) THEN 252 PRINT*,"dynetat0: Lecture echouee pour <phisinit>"254 write(lunout,*)"dynetat0: Lecture echouee pour <phisinit>" 253 255 CALL abort 254 256 ENDIF … … 256 258 ierr = NF_INQ_VARID (nid, "temps", nvarid) 257 259 IF (ierr .NE. NF_NOERR) THEN 258 PRINT*,"dynetat0: Le champ <temps> est absent"260 write(lunout,*)"dynetat0: Le champ <temps> est absent" 259 261 CALL abort 260 262 ENDIF … … 265 267 #endif 266 268 IF (ierr .NE. NF_NOERR) THEN 267 PRINT*,"dynetat0: Lecture echouee <temps>"269 write(lunout,*)"dynetat0: Lecture echouee <temps>" 268 270 CALL abort 269 271 ENDIF … … 271 273 ierr = NF_INQ_VARID (nid, "ucov", nvarid) 272 274 IF (ierr .NE. NF_NOERR) THEN 273 PRINT*,"dynetat0: Le champ <ucov> est absent"275 write(lunout,*)"dynetat0: Le champ <ucov> est absent" 274 276 CALL abort 275 277 ENDIF … … 280 282 #endif 281 283 IF (ierr .NE. NF_NOERR) THEN 282 PRINT*,"dynetat0: Lecture echouee pour <ucov>"284 write(lunout,*)"dynetat0: Lecture echouee pour <ucov>" 283 285 CALL abort 284 286 ENDIF … … 286 288 ierr = NF_INQ_VARID (nid, "vcov", nvarid) 287 289 IF (ierr .NE. NF_NOERR) THEN 288 PRINT*,"dynetat0: Le champ <vcov> est absent"290 write(lunout,*)"dynetat0: Le champ <vcov> est absent" 289 291 CALL abort 290 292 ENDIF … … 295 297 #endif 296 298 IF (ierr .NE. NF_NOERR) THEN 297 PRINT*,"dynetat0: Lecture echouee pour <vcov>"299 write(lunout,*)"dynetat0: Lecture echouee pour <vcov>" 298 300 CALL abort 299 301 ENDIF … … 301 303 ierr = NF_INQ_VARID (nid, "teta", nvarid) 302 304 IF (ierr .NE. NF_NOERR) THEN 303 PRINT*,"dynetat0: Le champ <teta> est absent"305 write(lunout,*)"dynetat0: Le champ <teta> est absent" 304 306 CALL abort 305 307 ENDIF … … 310 312 #endif 311 313 IF (ierr .NE. NF_NOERR) THEN 312 PRINT*,"dynetat0: Lecture echouee pour <teta>"314 write(lunout,*)"dynetat0: Lecture echouee pour <teta>" 313 315 CALL abort 314 316 ENDIF … … 319 321 ierr = NF_INQ_VARID (nid, tname(iq), nvarid) 320 322 IF (ierr .NE. NF_NOERR) THEN 321 PRINT*, "dynetat0: Le champ <"//tname(iq)//"> est absent" 322 PRINT*, " Il est donc initialise a zero" 323 write(lunout,*)"dynetat0: Le champ <"//tname(iq)// 324 & "> est absent" 325 write(lunout,*)" Il est donc initialise a zero" 323 326 q(:,:,iq)=0. 324 327 ELSE … … 329 332 #endif 330 333 IF (ierr .NE. NF_NOERR) THEN 331 PRINT*,"dynetat0: Lecture echouee pour "//tname(iq)332 334 write(lunout,*)"dynetat0: Lecture echouee pour "//tname(iq) 335 CALL abort 333 336 ENDIF 334 337 ENDIF … … 338 341 ierr = NF_INQ_VARID (nid, "masse", nvarid) 339 342 IF (ierr .NE. NF_NOERR) THEN 340 PRINT*,"dynetat0: Le champ <masse> est absent"343 write(lunout,*)"dynetat0: Le champ <masse> est absent" 341 344 CALL abort 342 345 ENDIF … … 347 350 #endif 348 351 IF (ierr .NE. NF_NOERR) THEN 349 PRINT*,"dynetat0: Lecture echouee pour <masse>"352 write(lunout,*)"dynetat0: Lecture echouee pour <masse>" 350 353 CALL abort 351 354 ENDIF … … 353 356 ierr = NF_INQ_VARID (nid, "ps", nvarid) 354 357 IF (ierr .NE. NF_NOERR) THEN 355 PRINT*,"dynetat0: Le champ <ps> est absent"358 write(lunout,*)"dynetat0: Le champ <ps> est absent" 356 359 CALL abort 357 360 ENDIF … … 362 365 #endif 363 366 IF (ierr .NE. NF_NOERR) THEN 364 PRINT*,"dynetat0: Lecture echouee pour <ps>"367 write(lunout,*)"dynetat0: Lecture echouee pour <ps>" 365 368 CALL abort 366 369 ENDIF -
LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/dynredem.F
r1299 r1380 26 26 #include "description.h" 27 27 #include "serre.h" 28 #include "iniprint.h" 28 29 29 30 c Arguments: … … 126 127 ierr = NF_CREATE(fichnom, NF_CLOBBER, nid) 127 128 IF (ierr.NE.NF_NOERR) THEN 128 WRITE(6,*)" Pb d ouverture du fichier "//fichnom 129 WRITE(6,*)' ierr = ', ierr 129 write(lunout,*)"dynredem0: Pb d ouverture du fichier " 130 & //trim(fichnom) 131 write(lunout,*)' ierr = ', ierr 130 132 CALL ABORT 131 133 ENDIF … … 509 511 ierr = NF_CLOSE(nid) ! fermer le fichier 510 512 511 PRINT*,'iim,jjm,llm,iday_end',iim,jjm,llm,iday_end 512 PRINT*,'rad,omeg,g,cpp,kappa', 513 , rad,omeg,g,cpp,kappa 513 write(lunout,*)'dynredem0: iim,jjm,llm,iday_end', 514 & iim,jjm,llm,iday_end 515 write(lunout,*)'dynredem0: rad,omeg,g,cpp,kappa', 516 & rad,omeg,g,cpp,kappa 514 517 515 518 RETURN … … 531 534 #include "comgeom.h" 532 535 #include "temps.h" 536 #include "iniprint.h" 537 533 538 534 539 INTEGER l … … 557 562 ierr = NF_OPEN(fichnom, NF_WRITE, nid) 558 563 IF (ierr .NE. NF_NOERR) THEN 559 PRINT*, "Pb. d ouverture "//fichnom564 write(lunout,*)"dynredem1: Pb. d ouverture "//trim(fichnom) 560 565 CALL abort 561 566 ENDIF … … 566 571 ierr = NF_INQ_VARID(nid, "temps", nvarid) 567 572 IF (ierr .NE. NF_NOERR) THEN 568 print *,NF_STRERROR(ierr)573 write(lunout,*) NF_STRERROR(ierr) 569 574 abort_message='Variable temps n est pas definie' 570 575 CALL abort_gcm(modname,abort_message,ierr) … … 575 580 ierr = NF_PUT_VAR1_REAL (nid,nvarid,nb,time) 576 581 #endif 577 PRINT*, "Enregistrement pour ", nb, time582 write(lunout,*) "dynredem1: Enregistrement pour ", nb, time 578 583 579 584 c … … 602 607 ierr = NF_INQ_VARID(nid, "ucov", nvarid) 603 608 IF (ierr .NE. NF_NOERR) THEN 604 PRINT*, "Variable ucov n est pas definie" 605 CALL abort 609 abort_message="Variable ucov n est pas definie" 610 ierr=1 611 CALL abort_gcm(modname,abort_message,ierr) 606 612 ENDIF 607 613 #ifdef NC_DOUBLE … … 613 619 ierr = NF_INQ_VARID(nid, "vcov", nvarid) 614 620 IF (ierr .NE. NF_NOERR) THEN 615 PRINT*, "Variable vcov n est pas definie" 616 CALL abort 621 abort_message="Variable vcov n est pas definie" 622 ierr=1 623 CALL abort_gcm(modname,abort_message,ierr) 617 624 ENDIF 618 625 #ifdef NC_DOUBLE … … 624 631 ierr = NF_INQ_VARID(nid, "teta", nvarid) 625 632 IF (ierr .NE. NF_NOERR) THEN 626 PRINT*, "Variable teta n est pas definie" 627 CALL abort 633 abort_message="Variable teta n est pas definie" 634 ierr=1 635 CALL abort_gcm(modname,abort_message,ierr) 628 636 ENDIF 629 637 #ifdef NC_DOUBLE … … 637 645 ierr_file = NF_OPEN ("start_trac.nc", NF_NOWRITE,nid_trac) 638 646 IF (ierr_file .NE.NF_NOERR) THEN 639 write(6,*)' Pb d''ouverture du fichier start_trac.nc' 640 write(6,*)' ierr = ', ierr_file 647 write(lunout,*)'dynredem1: Pb d''ouverture du fichier', 648 & ' start_trac.nc' 649 write(lunout,*)' ierr = ', ierr_file 641 650 ENDIF 642 651 END IF … … 648 657 ierr = NF_INQ_VARID(nid, tname(iq), nvarid) 649 658 IF (ierr .NE. NF_NOERR) THEN 650 PRINT*, "Variable tname(iq) n est pas definie" 651 CALL abort 659 abort_message="Variable tname(iq) n est pas definie" 660 ierr=1 661 CALL abort_gcm(modname,abort_message,ierr) 652 662 ENDIF 653 663 #ifdef NC_DOUBLE … … 661 671 ierr = NF_INQ_VARID (nid_trac, tname(iq), nvarid_trac) 662 672 IF (ierr .NE. NF_NOERR) THEN 663 PRINT*, tname(iq),"est absent de start_trac.nc" 673 write(lunout,*) "dynredem1: ",trim(tname(iq)), 674 & " est absent de start_trac.nc" 664 675 ierr = NF_INQ_VARID(nid, tname(iq), nvarid) 665 676 IF (ierr .NE. NF_NOERR) THEN 666 PRINT*, "Variable ", tname(iq)," n est pas definie" 667 CALL abort 677 abort_message="dynredem1: Variable "// 678 & trim(tname(iq))//" n est pas definie" 679 ierr=1 680 CALL abort_gcm(modname,abort_message,ierr) 668 681 ENDIF 669 682 #ifdef NC_DOUBLE … … 674 687 675 688 ELSE 676 PRINT*, tname(iq), "est present dans start_trac.nc" 689 write(lunout,*) "dynredem1: ",trim(tname(iq)), 690 & " est present dans start_trac.nc" 677 691 #ifdef NC_DOUBLE 678 692 ierr = NF_GET_VAR_DOUBLE(nid_trac, nvarid_trac, trac_tmp) … … 681 695 #endif 682 696 IF (ierr .NE. NF_NOERR) THEN 683 PRINT*, "Lecture echouee pour", tname(iq) 684 CALL abort 697 abort_message="dynredem1: Lecture echouee pour"// 698 & trim(tname(iq)) 699 ierr=1 700 CALL abort_gcm(modname,abort_message,ierr) 685 701 ENDIF 686 702 ierr = NF_INQ_VARID(nid, tname(iq), nvarid) 687 703 IF (ierr .NE. NF_NOERR) THEN 688 PRINT*, "Variable ", tname(iq)," n est pas definie" 689 CALL abort 704 abort_message="dynredem1: Variable "// 705 & trim(tname(iq))//" n est pas definie" 706 ierr=1 707 CALL abort_gcm(modname,abort_message,ierr) 690 708 ENDIF 691 709 #ifdef NC_DOUBLE … … 701 719 ierr = NF_INQ_VARID(nid, tname(iq), nvarid) 702 720 IF (ierr .NE. NF_NOERR) THEN 703 PRINT*, "Variable tname(iq) n est pas definie" 704 CALL abort 721 abort_message="dynredem1: Variable "// 722 & trim(tname(iq))//" n est pas definie" 723 ierr=1 724 CALL abort_gcm(modname,abort_message,ierr) 705 725 ENDIF 706 726 #ifdef NC_DOUBLE … … 717 737 ierr = NF_INQ_VARID(nid, "masse", nvarid) 718 738 IF (ierr .NE. NF_NOERR) THEN 719 PRINT*, "Variable masse n est pas definie" 720 CALL abort 739 abort_message="dynredem1: Variable masse n est pas definie" 740 ierr=1 741 CALL abort_gcm(modname,abort_message,ierr) 721 742 ENDIF 722 743 #ifdef NC_DOUBLE … … 728 749 ierr = NF_INQ_VARID(nid, "ps", nvarid) 729 750 IF (ierr .NE. NF_NOERR) THEN 730 PRINT*, "Variable ps n est pas definie" 731 CALL abort 751 abort_message="dynredem1: Variable ps n est pas definie" 752 ierr=1 753 CALL abort_gcm(modname,abort_message,ierr) 732 754 ENDIF 733 755 #ifdef NC_DOUBLE -
LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/gcm.F
r1357 r1380 248 248 CALL iniacademic(vcov,ucov,teta,q,masse,ps,phis,time_0) 249 249 endif 250 !#ifdef CPP_IOIPSL 250 251 251 if (planet_type.eq."earth") then 252 252 #ifdef CPP_EARTH 253 253 ! Load an Earth-format start file 254 254 CALL dynetat0("start.nc",vcov,ucov, 255 . teta,q,masse,ps,phis, time_0) 256 #endif 255 & teta,q,masse,ps,phis, time_0) 256 #endif 257 ! SW model also has Earth-format start files 258 ! (but can be used without the CPP_EARTH directive) 259 if (iflag_phys.eq.0) then 260 CALL dynetat0("start.nc",vcov,ucov, 261 & teta,q,masse,ps,phis, time_0) 262 endif 263 257 264 endif ! of if (planet_type.eq."earth") 265 258 266 c write(73,*) 'ucov',ucov 259 267 c write(74,*) 'vcov',vcov -
LMDZ4/branches/LMDZ4V5.0-dev/libf/dyn3d/iniconst.F
r1299 r1380 19 19 #include "temps.h" 20 20 #include "comvert.h" 21 #include "iniprint.h" 21 22 22 23 … … 48 49 r = cpp * kappa 49 50 50 PRINT*,'R CP Kappa ', r , cpp, kappa51 write(lunout,*)'iniconst: R CP Kappa ', r , cpp, kappa 51 52 c 52 53 c-----------------------------------------------------------------------
Note: See TracChangeset
for help on using the changeset viewer.