Changeset 3455 for trunk/LMDZ.PLUTO/libf/phypluto/tabfi_mod.F90
- Timestamp:
- Oct 9, 2024, 2:06:39 PM (6 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LMDZ.PLUTO/libf/phypluto/tabfi_mod.F90
r3453 r3455 12 12 ! C. Hourdin 15/11/96 13 13 ! 14 ! Object: Lecture du tab_cntrl physique dans un fichier 14 ! Object: Lecture du tab_cntrl physique dans un fichier 15 15 ! ------ et initialisation des constantes physiques 16 16 ! … … 21 21 ! ------ 22 22 ! 23 ! - nid: unitne logique du fichier ou on va lire le tab_cntrl 24 ! (ouvert dans le programme appellant) 23 ! - nid: unitne logique du fichier ou on va lire le tab_cntrl 24 ! (ouvert dans le programme appellant) 25 25 ! 26 26 ! si nid=0: 27 27 ! pas de lecture du tab_cntrl mais 28 28 ! Valeurs par default des constantes physiques 29 ! 30 ! - tab0: Offset de tab_cntrl a partir duquel sont ranges 29 ! 30 ! - tab0: Offset de tab_cntrl a partir duquel sont ranges 31 31 ! les parametres physiques (50 pour start_archive) 32 32 ! … … 44 44 ! - p_rad 45 45 ! - p_omeg ! 46 ! - p_g ! Constantes physiques ayant des 46 ! - p_g ! Constantes physiques ayant des 47 47 ! - p_mugaz ! homonymes dynamiques 48 48 ! - p_daysec ! … … 58 58 use mod_phys_lmdz_para, only: is_parallel 59 59 use planete_mod, only: year_day, periastr, apoastr, peri_day, & 60 obliquit, z0, lmixmin, emin_turb 60 obliquit, z0, lmixmin, emin_turb, & 61 tpal, adjust 61 62 use comcstfi_mod, only: rad, omeg, g, mugaz, rcp, cpp, r 62 63 use time_phylmdz_mod, only: dtphys, daysec 63 64 use callkeys_mod, only: cpp_mugaz_mode 64 65 implicit none 65 66 66 67 include "netcdf.inc" 67 68 … … 87 88 LOGICAL :: found 88 89 CHARACTER(len=5) :: modname="tabfi" 89 90 90 91 write(*,*)"tabfi: nid=",nid," tab0=",tab0," Lmodif=",Lmodif 91 92 … … 97 98 lmax=0 ! not used anyways 98 99 !day_ini already set via inifis 99 time=0 100 time=0 100 101 ! Informations about planet for dynamics and physics 101 102 ! rad,cpp,g,r,rcp already initialized by inifis … … 219 220 p_rad=rad 220 221 221 ENDIF ! end of (nid = 0) 222 ENDIF ! end of (nid = 0) 222 223 223 224 !----------------------------------------------------------------------- 224 225 ! Write physical constants to output before modifying them 225 226 !----------------------------------------------------------------------- 226 227 227 228 6 FORMAT(a20,e15.6,e15.6) 228 229 5 FORMAT(a20,f12.2,f12.2) 229 230 230 231 write(*,*) '*****************************************************' 231 232 write(*,*) 'Reading tab_cntrl when calling tabfi before changes' … … 306 307 write(*,*) '(10) daysec : length of a sol (s)' 307 308 write(*,*) 308 309 309 310 310 311 do while(modif(1:1).ne.'hello') 311 312 write(*,*) … … 316 317 read(*,fmt='(a20)') modif 317 318 if (modif(1:1) .eq. ' ') goto 999 318 319 319 320 write(*,*) 320 321 write(*,*) modif(1:len_trim(modif)) , ' : ' … … 365 366 106 read(*,*,iostat=ierr) emisice(1) 366 367 if(ierr.ne.0) goto 106 367 write(*,*) 368 write(*,*) 368 369 write(*,*) ' emisice(1) (new value):',emisice(1) 369 370 write(*,*) … … 373 374 107 read(*,*,iostat=ierr) emisice(2) 374 375 if(ierr.ne.0) goto 107 375 write(*,*) 376 write(*,*) 376 377 write(*,*) ' emisice(2) (new value):',emisice(2) 377 378 … … 381 382 110 read(*,*,iostat=ierr) iceradius(1) 382 383 if(ierr.ne.0) goto 110 383 write(*,*) 384 write(*,*) 384 385 write(*,*) ' iceradius(1) (new value):',iceradius(1) 385 386 write(*,*) … … 389 390 111 read(*,*,iostat=ierr) iceradius(2) 390 391 if(ierr.ne.0) goto 111 391 write(*,*) 392 write(*,*) 392 393 write(*,*) ' iceradius(2) (new value):',iceradius(2) 393 394 … … 397 398 112 read(*,*,iostat=ierr) dtemisice(1) 398 399 if(ierr.ne.0) goto 112 399 write(*,*) 400 write(*,*) 400 401 write(*,*) ' dtemisice(1) (new value):',dtemisice(1) 401 402 write(*,*) … … 405 406 113 read(*,*,iostat=ierr) dtemisice(2) 406 407 if(ierr.ne.0) goto 113 407 write(*,*) 408 write(*,*) 408 409 write(*,*) ' dtemisice(2) (new value):',dtemisice(2) 409 410 … … 414 415 115 read(*,*,iostat=ierr) obliquit 415 416 if(ierr.ne.0) goto 115 416 write(*,*) 417 write(*,*) 417 418 write(*,*) ' obliquit (new value):',obliquit 418 419 … … 423 424 116 read(*,*,iostat=ierr) peri_day 424 425 if(ierr.ne.0) goto 116 425 write(*,*) 426 write(*,*) 426 427 write(*,*) ' peri_day (new value):',peri_day 427 428 … … 432 433 117 read(*,*,iostat=ierr) periastr 433 434 if(ierr.ne.0) goto 117 434 write(*,*) 435 write(*,*) 435 436 write(*,*) ' periastr (new value):',periastr 436 437 437 438 else if (modif(1:len_trim(modif)) .eq. 'apoastr') then 438 439 write(*,*) 'current value:',apoastr … … 441 442 118 read(*,*,iostat=ierr) apoastr 442 443 if(ierr.ne.0) goto 118 443 write(*,*) 444 write(*,*) 444 445 write(*,*) ' apoastr (new value):',apoastr 445 446 446 447 else if (modif(1:len_trim(modif)) .eq. 'volcapa') then 447 448 write(*,*) 'current value:',volcapa … … 449 450 119 read(*,*,iostat=ierr) volcapa 450 451 if(ierr.ne.0) goto 119 451 write(*,*) 452 write(*,*) 452 453 write(*,*) ' volcapa (new value):',volcapa 453 454 454 455 else if (modif(1:len_trim(modif)).eq.'rad') then 455 456 write(*,*) 'current value:',rad … … 457 458 120 read(*,*,iostat=ierr) rad 458 459 if(ierr.ne.0) goto 120 459 write(*,*) 460 write(*,*) 460 461 write(*,*) ' rad (new value):',rad 461 462 … … 465 466 121 read(*,*,iostat=ierr) omeg 466 467 if(ierr.ne.0) goto 121 467 write(*,*) 468 write(*,*) 468 469 write(*,*) ' omeg (new value):',omeg 469 470 470 471 else if (modif(1:len_trim(modif)).eq.'g') then 471 472 write(*,*) 'current value:',g … … 473 474 122 read(*,*,iostat=ierr) g 474 475 if(ierr.ne.0) goto 122 475 write(*,*) 476 write(*,*) 476 477 write(*,*) ' g (new value):',g 477 478 … … 481 482 123 read(*,*,iostat=ierr) mugaz 482 483 if(ierr.ne.0) goto 123 483 write(*,*) 484 write(*,*) 484 485 write(*,*) ' mugaz (new value):',mugaz 485 486 r=8.314511/(mugaz/1000.0) … … 491 492 124 read(*,*,iostat=ierr) rcp 492 493 if(ierr.ne.0) goto 124 493 write(*,*) 494 write(*,*) 494 495 write(*,*) ' rcp (new value):',rcp 495 496 r=8.314511/(mugaz/1000.0) … … 502 503 call su_gases 503 504 call calc_cpp_mugaz 504 write(*,*) 505 write(*,*) 505 506 write(*,*) ' cpp (new value):',cpp 506 507 write(*,*) ' mugaz (new value):',mugaz … … 508 509 rcp=r/cpp 509 510 write(*,*) ' rcp (new value):',rcp 510 511 511 512 else if (modif(1:len_trim(modif)).eq.'daysec') then 512 513 write(*,*) 'current value:',daysec … … 514 515 125 read(*,*,iostat=ierr) daysec 515 516 if(ierr.ne.0) goto 125 516 write(*,*) 517 write(*,*) 517 518 write(*,*) ' daysec (new value):',daysec 518 519 … … 520 521 else if (modif(1:len_trim(modif)).eq.'year_day') then 521 522 write(*,*) 'current value:',year_day 522 write(*,*) 'enter new value:' 523 write(*,*) 'enter new value:' 523 524 126 read(*,*,iostat=ierr) year_day 524 525 if(ierr.ne.0) goto 126 … … 534 535 ! Write values of physical constants after modifications 535 536 !----------------------------------------------------------------------- 536 537 537 538 write(*,*) '*****************************************************' 538 539 write(*,*) 'Reading tab_cntrl when calling tabfi AFTER changes' … … 548 549 write(*,5) '(9) rcp',tab_cntrl(tab0+9),rcp 549 550 write(*,6) '(11) dtphys?',tab_cntrl(tab0+11),dtphys 550 551 551 552 write(*,5) '(14) year_day',tab_cntrl(tab0+14),year_day 552 553 write(*,5) '(15) periastr',tab_cntrl(tab0+15),periastr … … 554 555 write(*,5) '(17) peri_day',tab_cntrl(tab0+17),peri_day 555 556 write(*,5) '(18) obliquit',tab_cntrl(tab0+18),obliquit 556 557 557 558 write(*,6) '(19) z0',tab_cntrl(tab0+19),z0 558 559 write(*,6) '(21) emin_turb',tab_cntrl(tab0+21),emin_turb 559 560 write(*,5) '(20) lmixmin',tab_cntrl(tab0+20),lmixmin 560 561 561 562 write(*,5) '(26) emissiv',tab_cntrl(tab0+26),emissiv 562 563 write(*,5) '(24) emisice(1)',tab_cntrl(tab0+24),emisice(1) … … 566 567 write(*,5) '(33) dtemisice(1)',tab_cntrl(tab0+33),dtemisice(1) 567 568 write(*,5) '(34) dtemisice(2)',tab_cntrl(tab0+34),dtemisice(2) 568 569 569 570 write(*,5) '(35) volcapa',tab_cntrl(tab0+35),volcapa 570 571 571 write(*,*) 572 write(*,*) 572 write(*,*) 573 write(*,*) 573 574 574 575 ENDIF ! of if (Lmodif == 1)
Note: See TracChangeset
for help on using the changeset viewer.