Changeset 2332
- Timestamp:
- Jul 21, 2015, 5:40:58 PM (9 years ago)
- Location:
- LMDZ5/trunk/libf/phylmd/dyn1d
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/dyn1d/1D_decl_cases.h
r2239 r2332 251 251 real hu_mod_cas(llm),vu_mod_cas(llm),du_mod_cas(llm) 252 252 real hv_mod_cas(llm),vv_mod_cas(llm),dv_mod_cas(llm) 253 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 254 253 integer day_ini_cas 254 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 255 -
LMDZ5/trunk/libf/phylmd/dyn1d/1D_interp_cases.h
r2310 r2332 613 613 614 614 ! time interpolation: 615 CALL interp_case_time(daytime,day1,annee_ref & 616 & ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas & 617 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas,ug_cas,vg_cas & 618 & ,vitw_cas,du_cas,hu_cas,vu_cas & 619 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas & 620 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas & 615 CALL interp_case_time(daytime,day1,annee_ref & 616 ! & ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas & 617 & ,nt_cas,nlev_cas & 618 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas,ug_cas,vg_cas & 619 & ,vitw_cas,du_cas,hu_cas,vu_cas & 620 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas & 621 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas & 622 & ,uw_cas,vw_cas,q1_cas,q2_cas & 621 623 & ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas,u_prof_cas,v_prof_cas & 622 624 & ,ug_prof_cas,vg_prof_cas,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas & 623 625 & ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas & 624 626 & ,dtrad_prof_cas,dq_prof_cas,hq_prof_cas,vq_prof_cas,lat_prof_cas & 625 & ,sens_prof_cas,ustar_prof_cas )627 & ,sens_prof_cas,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas) 626 628 627 629 ts_cur = ts_prof_cas -
LMDZ5/trunk/libf/phylmd/dyn1d/1D_read_forc_cases.h
r2310 r2332 326 326 write(*,*) 'SST initiale mxcalc: ',tsurf,mxcalc 327 327 do l = 1, llm 328 ! Ligne du dessous àdecommenter si on lit theta au lieu de temp328 ! Ligne du dessous ?? decommenter si on lit theta au lieu de temp 329 329 ! temp(l) = t_mod(l)*(play(l)/pzero)**rkappa 330 330 temp(l) = t_mod(l) … … 410 410 & ,ht_mod,hq_mod,hu_mod,hv_mod,w_mod,omega_mod,mxcalc) 411 411 412 ! Pour tester les advections horizontales de T et Q, on met w_mod et omega_mod àzero (MPL 20131108)412 ! Pour tester les advections horizontales de T et Q, on met w_mod et omega_mod ?? zero (MPL 20131108) 413 413 ! w_mod(:,:)=0. 414 414 ! omega_mod(:,:)=0. … … 424 424 write(*,*) 'SST initiale mxcalc: ',tsurf,mxcalc 425 425 do l = 1, llm 426 ! Ligne du dessous àdecommenter si on lit theta au lieu de temp426 ! Ligne du dessous ?? decommenter si on lit theta au lieu de temp 427 427 temp(l) = th_mod(l)*(play(l)/pzero)**rkappa 428 428 ! temp(l) = t_mod(l) … … 736 736 !Time interpolation for initial conditions using TOGA interpolation routine 737 737 write(*,*) 'AVT 1ere INTERPOLATION: day,day1 = ',daytime,day1 738 CALL interp_case_time(day,day1,annee_ref & 739 & ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas & 740 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas & 741 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas & 742 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas & 743 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas & 744 & ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas,u_prof_cas,v_prof_cas & 745 & ,ug_prof_cas,vg_prof_cas,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas & 746 & ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas & 747 & ,dq_prof_cas,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas) 738 CALL interp_case_time(day,day1,annee_ref & 739 ! & ,year_ini_cas,day_ju_ini_cas,nt_cas,pdt_cas,nlev_cas & 740 & ,nt_cas,nlev_cas & 741 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas & 742 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas & 743 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas & 744 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas & 745 & ,uw_cas,vw_cas,q1_cas,q2_cas & 746 & ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas,u_prof_cas,v_prof_cas & 747 & ,ug_prof_cas,vg_prof_cas,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas & 748 & ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas,ht_prof_cas,vt_prof_cas,dtrad_prof_cas & 749 & ,dq_prof_cas,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas & 750 & ,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas) 748 751 749 752 ! vertical interpolation using TOGA interpolation routine: -
LMDZ5/trunk/libf/phylmd/dyn1d/lmdz1d.F90
r2317 r2332 36 36 #include "compar1d.h" 37 37 #include "flux_arp.h" 38 #include "date_cas.h" 38 39 #include "tsoilnudge.h" 39 40 #include "fcg_gcssold.h" … … 284 285 ! Different stages: soil model alone, atm. model alone 285 286 ! then both models coupled 286 !forcing_type = 10 ==> forcing_case = .true.287 !forcing_type >= 100 ==> forcing_case = .true. 287 288 ! initial profiles and large scale forcings in cas.nc 288 289 ! LS convergence, omega and SST imposed from CINDY-DYNAMO files 290 ! 101=cindynamo 291 ! 102=bomex 289 292 !forcing_type = 40 ==> forcing_GCSSold = .true. 290 293 ! initial profile from GCSS file … … 323 326 elseif (forcing_type .eq.7) THEN 324 327 forcing_dice = .true. 325 elseif (forcing_type .eq.10 ) THEN328 elseif (forcing_type .eq.101) THEN ! Cindynamo starts 1-10-2011 0h 326 329 forcing_case = .true. 330 year_ini_cas=2011 331 mth_ini_cas=10 332 day_deb=1 333 heure_ini_cas=0. 334 pdt_cas=3*3600. ! forcing frequency 335 elseif (forcing_type .eq.102) THEN ! Bomex starts 24-6-1969 0h 336 forcing_case = .true. 337 year_ini_cas=1969 338 mth_ini_cas=6 339 day_deb=24 340 heure_ini_cas=0. 341 pdt_cas=1800. ! forcing frequency 327 342 elseif (forcing_type .eq.40) THEN 328 343 forcing_GCSSold = .true. … … 396 411 fnday=-nday/float(day_step) 397 412 endif 413 print *,'fnday=',fnday 398 414 399 415 ! Special case for arm_cu which lasts less than one day : 53100s !! (MPL 20111026) … … 432 448 & (year_ini_dice,mth_ini_dice,day_ini_dice,heure_ini_dice & 433 449 & ,day_ju_ini_dice) 434 ELSEIF (forcing_type . eq.10) THEN450 ELSEIF (forcing_type .gt.100) THEN 435 451 ! Convert the initial date to Julian day 436 print*,'time cindy',year_ini_cas,mth_ini_cas,day_ini_cas 452 day_ini_cas=day_deb 453 print*,'time case',year_ini_cas,mth_ini_cas,day_ini_cas 437 454 call ymds2ju & 438 & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas &455 & (year_ini_cas,mth_ini_cas,day_ini_cas,heure_ini_cas & 439 456 & ,day_ju_ini_cas) 440 print*,'time c indy 2',day_ju_ini_cas457 print*,'time case 2',day_ini_cas,day_ju_ini_cas 441 458 ELSEIF (forcing_type .eq.59) THEN 442 459 ! Convert the initial date of Sandu case to Julian day … … 576 593 print*,'play=',play(mxcalc) 577 594 578 !Al1 pour SST forced, appell édepuis ocean_forced_noice595 !Al1 pour SST forced, appell?? depuis ocean_forced_noice 579 596 ts_cur = tsurf ! SST used in read_tsurf1d 580 597 !===================================================================== … … 806 823 if (prt_level.ge.1) then 807 824 print*,'XXXXXXXXXXXXXXXXXXX ITAP,day,time=', & 808 & it,day,time,nint(fnday*day_step)825 & it,day,time,nint(fnday*day_step),day_step 809 826 print*,'PAS DE TEMPS ',timestep 810 827 endif -
LMDZ5/trunk/libf/phylmd/dyn1d/mod_1D_cases_read.F90
r2310 r2332 7 7 !Declarations specifiques au cas standard 8 8 character*80 :: fich_cas 9 ! Discr étisation9 ! Discr?tisation 10 10 integer nlev_cas, nt_cas 11 11 12 12 13 14 15 13 ! integer year_ini_cas, day_ini_cas, mth_ini_cas 14 ! real heure_ini_cas 15 ! real day_ju_ini_cas ! Julian day of case first day 16 16 ! parameter (year_ini_cas=2011) 17 17 ! parameter (year_ini_cas=1969) 18 18 ! parameter (mth_ini_cas=10) 19 19 ! parameter (mth_ini_cas=6) 20 20 ! parameter (day_ini_cas=1) ! 10 = 10Juil2006 21 22 23 24 21 ! parameter (day_ini_cas=24) ! 24 = 24 juin 1969 22 ! parameter (heure_ini_cas=0.) !0h en secondes 23 ! real pdt_cas 24 ! parameter (pdt_cas=3.*3600) 25 25 26 26 !CR ATTENTION TEST AMMA … … 50 50 real, allocatable:: ug_cas(:,:),vg_cas(:,:) 51 51 real, allocatable:: lat_cas(:),sens_cas(:),ts_cas(:),ustar_cas(:) 52 real, allocatable:: uw_cas(:,:),vw_cas(:,:),q1_cas(:,:),q2_cas(:,:) 52 53 53 54 !champs interpoles … … 74 75 real, allocatable:: du_prof_cas(:) 75 76 real, allocatable:: dv_prof_cas(:) 77 real, allocatable:: uw_prof_cas(:) 78 real, allocatable:: vw_prof_cas(:) 79 real, allocatable:: q1_prof_cas(:) 80 real, allocatable:: q2_prof_cas(:) 76 81 77 82 … … 105 110 ENDIF 106 111 ierr=NF_INQ_DIMLEN(nid,rid,ii) 107 print*,'OK nid,rid,lat',nid,rid,ii112 print*,'OK1 nid,rid,lat',nid,rid,ii 108 113 !....................................................................... 109 114 ierr=NF_INQ_DIMID(nid,'lon',rid) … … 112 117 ENDIF 113 118 ierr=NF_INQ_DIMLEN(nid,rid,jj) 114 print*,'OK nid,rid,lat',nid,rid,jj119 print*,'OK2 nid,rid,lat',nid,rid,jj 115 120 !....................................................................... 116 121 ierr=NF_INQ_DIMID(nid,'lev',rid) … … 119 124 ENDIF 120 125 ierr=NF_INQ_DIMLEN(nid,rid,nlev_cas) 121 print*,'OK nid,rid,nlev_cas',nid,rid,nlev_cas126 print*,'OK3 nid,rid,nlev_cas',nid,rid,nlev_cas 122 127 !....................................................................... 123 128 ierr=NF_INQ_DIMID(nid,'time',rid) … … 128 133 ENDIF 129 134 ierr=NF_INQ_DIMLEN(nid,rid,nt_cas) 130 print*,' nid,rid,nlev_cas',nid,rid,nt_cas135 print*,'OK4 nid,rid,nt_cas',nid,rid,nt_cas 131 136 132 137 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! … … 150 155 allocate(vg_cas(nlev_cas,nt_cas)) 151 156 allocate(lat_cas(nt_cas),sens_cas(nt_cas),ts_cas(nt_cas),ustar_cas(nt_cas)) 157 allocate(uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas),q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas)) 152 158 153 159 … … 175 181 allocate(du_prof_cas(nlev_cas)) 176 182 allocate(dv_prof_cas(nlev_cas)) 183 allocate(uw_prof_cas(nlev_cas)) 184 allocate(vw_prof_cas(nlev_cas)) 185 allocate(q1_prof_cas(nlev_cas)) 186 allocate(q2_prof_cas(nlev_cas)) 177 187 178 188 print*,'Allocations OK' 179 call read_cas(nid,nlev_cas,nt_cas & 180 & ,z_cas,plev_cas,t_cas,q_cas,rh_cas,th_cas,rv_cas,u_cas,v_cas & 181 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas,dv_cas,hv_cas,vv_cas & 182 & ,dt_cas,dtrad_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas & 183 & ,dth_cas,hth_cas,vth_cas,dr_cas,hr_cas,vr_cas,sens_cas,lat_cas,ts_cas,ustar_cas) 189 call read_cas(nid,nlev_cas,nt_cas & 190 & ,z_cas,plev_cas,t_cas,q_cas,rh_cas,th_cas,rv_cas,u_cas,v_cas & 191 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas,dv_cas,hv_cas,vv_cas & 192 & ,dt_cas,dtrad_cas,ht_cas,vt_cas,dq_cas,hq_cas,vq_cas & 193 & ,dth_cas,hth_cas,vth_cas,dr_cas,hr_cas,vr_cas,sens_cas,lat_cas,ts_cas& 194 & ,ustar_cas,uw_cas,vw_cas,q1_cas,q2_cas) 195 print*,'Read cas OK' 184 196 185 197 … … 209 221 deallocate(ug_cas) 210 222 deallocate(vg_cas) 211 deallocate(lat_cas,sens_cas,ts_cas,ustar_cas )223 deallocate(lat_cas,sens_cas,ts_cas,ustar_cas,uw_cas,vw_cas,q1_cas,q2_cas) 212 224 213 225 !champs interpoles … … 238 250 deallocate(u_prof_cas) 239 251 deallocate(v_prof_cas) 252 deallocate(uw_prof_cas) 253 deallocate(vw_prof_cas) 254 deallocate(q1_prof_cas) 255 deallocate(q2_prof_cas) 240 256 241 257 END SUBROUTINE deallocate_1D_cases … … 247 263 & ,zz,pp,temp,qv,rh,theta,rv,u,v,ug,vg,w, & 248 264 & du,hu,vu,dv,hv,vv,dt,dtrad,ht,vt,dq,hq,vq, & 249 & dth,hth,vth,dr,hr,vr,sens,flat,ts,ustar )265 & dth,hth,vth,dr,hr,vr,sens,flat,ts,ustar,uw,vw,q1,q2) 250 266 251 267 !program reading forcing of the case study … … 272 288 real dr(nlevel,ntime),hr(nlevel,ntime),vr(nlevel,ntime) 273 289 real flat(ntime),sens(ntime),ts(ntime),ustar(ntime) 290 real uw(nlevel,ntime),vw(nlevel,ntime),q1(nlevel,ntime),q2(nlevel,ntime) 274 291 275 292 … … 490 507 stop 'ustar' 491 508 endif 509 510 ierr=NF_INQ_VARID(nid,"uw",var3didin(36)) 511 if(ierr/=NF_NOERR) then 512 write(*,*) NF_STRERROR(ierr) 513 stop 'uw' 514 endif 515 516 ierr=NF_INQ_VARID(nid,"vw",var3didin(37)) 517 if(ierr/=NF_NOERR) then 518 write(*,*) NF_STRERROR(ierr) 519 stop 'vw' 520 endif 521 522 ierr=NF_INQ_VARID(nid,"q1",var3didin(38)) 523 if(ierr/=NF_NOERR) then 524 write(*,*) NF_STRERROR(ierr) 525 stop 'q1' 526 endif 527 528 ierr=NF_INQ_VARID(nid,"q2",var3didin(39)) 529 if(ierr/=NF_NOERR) then 530 write(*,*) NF_STRERROR(ierr) 531 stop 'q2' 532 endif 492 533 493 534 #ifdef NC_DOUBLE … … 876 917 endif 877 918 ! write(*,*)'lecture ustar ok',ustar 919 920 #ifdef NC_DOUBLE 921 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(36),uw) 922 #else 923 ierr = NF_GET_VAR_REAL(nid,var3didin(36),uw) 924 #endif 925 if(ierr/=NF_NOERR) then 926 write(*,*) NF_STRERROR(ierr) 927 stop "getvarup" 928 endif 929 ! write(*,*)'lecture uw ok',uw 930 931 #ifdef NC_DOUBLE 932 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(37),vw) 933 #else 934 ierr = NF_GET_VAR_REAL(nid,var3didin(37),vw) 935 #endif 936 if(ierr/=NF_NOERR) then 937 write(*,*) NF_STRERROR(ierr) 938 stop "getvarup" 939 endif 940 ! write(*,*)'lecture vw ok',vw 941 942 #ifdef NC_DOUBLE 943 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(38),q1) 944 #else 945 ierr = NF_GET_VAR_REAL(nid,var3didin(38),q1) 946 #endif 947 if(ierr/=NF_NOERR) then 948 write(*,*) NF_STRERROR(ierr) 949 stop "getvarup" 950 endif 951 ! write(*,*)'lecture q1 ok',q1 952 953 #ifdef NC_DOUBLE 954 ierr = NF_GET_VAR_DOUBLE(nid,var3didin(39),q2) 955 #else 956 ierr = NF_GET_VAR_REAL(nid,var3didin(39),q2) 957 #endif 958 if(ierr/=NF_NOERR) then 959 write(*,*) NF_STRERROR(ierr) 960 stop "getvarup" 961 endif 962 ! write(*,*)'lecture q2 ok',q2 878 963 879 964 … … 882 967 !====================================================================== 883 968 SUBROUTINE interp_case_time(day,day1,annee_ref & 884 & ,year_ini_cas,day_ini_cas,nt_cas,pdt_cas,nlev_cas & 969 ! & ,year_cas,day_cas,nt_cas,pdt_forc,nlev_cas & 970 & ,nt_cas,nlev_cas & 885 971 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas & 886 972 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas & 887 973 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas & 888 974 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas & 975 & ,uw_cas,vw_cas,q1_cas,q2_cas & 889 976 & ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas & 890 977 & ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas & … … 892 979 & ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas & 893 980 & ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_prof_cas & 894 & ,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas,ustar_prof_cas) 981 & ,hq_prof_cas,vq_prof_cas,lat_prof_cas,sens_prof_cas & 982 & ,ustar_prof_cas,uw_prof_cas,vw_prof_cas,q1_prof_cas,q2_prof_cas) 895 983 896 984 … … 907 995 908 996 #include "compar1d.h" 997 #include "date_cas.h" 909 998 910 999 ! inputs: 911 1000 integer annee_ref 912 1001 integer nt_cas,nlev_cas 913 integer year_ini_cas 914 real day_ini_cas 915 real day, day1,pdt_cas 1002 real day, day1,day_cas 916 1003 real ts_cas(nt_cas) 917 1004 real plev_cas(nlev_cas,nt_cas) … … 927 1014 real lat_cas(nt_cas) 928 1015 real sens_cas(nt_cas) 929 real ustar_cas(nt_cas) 1016 real ustar_cas(nt_cas),uw_cas(nlev_cas,nt_cas),vw_cas(nlev_cas,nt_cas) 1017 real q1_cas(nlev_cas,nt_cas),q2_cas(nlev_cas,nt_cas) 930 1018 931 1019 ! outputs: … … 941 1029 real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas) 942 1030 real lat_prof_cas,sens_prof_cas,ts_prof_cas,ustar_prof_cas 1031 real uw_prof_cas(nlev_cas),vw_prof_cas(nlev_cas),q1_prof_cas(nlev_cas),q2_prof_cas(nlev_cas) 943 1032 ! local: 944 1033 integer it_cas1, it_cas2,k … … 946 1035 947 1036 948 print*,'Check time',day1,day_ ini_cas,day_ini_cas+11037 print*,'Check time',day1,day_ju_ini_cas,day_deb+1,pdt_cas 949 1038 950 1039 ! On teste si la date du cas AMMA est correcte. … … 952 1041 ! sont censes etre corrects. 953 1042 ! A supprimer a terme (MPL 20150623) 954 1043 ! if ((forcing_type.eq.10).and.(1.eq.0)) then 955 1044 ! Check that initial day of the simulation consistent with AMMA case: 956 957 958 959 960 961 if (annee_ref.eq.2006 .and. day1.lt.day_ini_cas) then962 print*,'AMMA a debute le 10 juillet 2006',day1,day_ini_cas963 964 965 966 if (annee_ref.eq.2006 .and. day1.gt.day_ini_cas+1) then967 968 969 970 971 1045 ! if (annee_ref.ne.2006) then 1046 ! print*,'Pour AMMA, annee_ref doit etre 2006' 1047 ! print*,'Changer annee_ref dans run.def' 1048 ! stop 1049 ! endif 1050 ! if (annee_ref.eq.2006 .and. day1.lt.day_cas) then 1051 ! print*,'AMMA a debute le 10 juillet 2006',day1,day_cas 1052 ! print*,'Changer dayref dans run.def' 1053 ! stop 1054 ! endif 1055 ! if (annee_ref.eq.2006 .and. day1.gt.day_cas+1) then 1056 ! print*,'AMMA a fini le 11 juillet' 1057 ! print*,'Changer dayref ou nday dans run.def' 1058 ! stop 1059 ! endif 1060 ! endif 972 1061 973 1062 ! Determine timestep relative to the 1st day: 974 1063 ! timeit=(day-day1)*86400. 975 1064 ! if (annee_ref.eq.1992) then 976 ! timeit=(day-day_ ini_cas)*86400.1065 ! timeit=(day-day_cas)*86400. 977 1066 ! else 978 1067 ! timeit=(day+61.-1.)*86400. ! 61 days between Nov01 and Dec31 1992 979 1068 ! endif 980 timeit=(day-day_ini_cas)*86400 1069 timeit=(day-day_ju_ini_cas)*86400 1070 print *,'day=',day 1071 print *,'day_ju_ini_cas=',day_ju_ini_cas 1072 print *,'pdt_cas=',pdt_cas 1073 print *,'timeit=',timeit 1074 print *,'nt_cas=',nt_cas 981 1075 982 1076 ! Determine the closest observation times: … … 994 1088 time_cas1=(it_cas1-1)*pdt_cas 995 1089 time_cas2=(it_cas2-1)*pdt_cas 1090 print *,'it_cas1=',it_cas1 1091 print *,'it_cas2=',it_cas2 1092 print *,'time_cas1=',time_cas1 1093 print *,'time_cas2=',time_cas2 996 1094 997 1095 if (it_cas1 .gt. nt_cas) then 998 write(*,*) 'PB-stop: day, it_cas1, it_cas2, timeit: ' &999 & ,day,day_ ini_cas,it_cas1,it_cas2,timeit/86400.1096 write(*,*) 'PB-stop: day, day_ju_ini_cas,it_cas1, it_cas2, timeit: ' & 1097 & ,day,day_ju_ini_cas,it_cas1,it_cas2,timeit 1000 1098 stop 1001 1099 endif … … 1057 1155 vq_prof_cas(k) = vq_cas(k,it_cas2) & 1058 1156 & -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1)) 1157 uw_prof_cas(k) = uw_cas(k,it_cas2) & 1158 & -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1)) 1159 vw_prof_cas(k) = vw_cas(k,it_cas2) & 1160 & -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1)) 1161 q1_prof_cas(k) = q1_cas(k,it_cas2) & 1162 & -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1)) 1163 q2_prof_cas(k) = q2_cas(k,it_cas2) & 1164 & -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1)) 1059 1165 enddo 1060 1166
Note: See TracChangeset
for help on using the changeset viewer.