99 ierr = nf_open(
fich_cas,nf_nowrite,nid)
100 print*,
'fich_cas,NF_NOWRITE,nid ',
fich_cas,nf_nowrite,nid
101 if (ierr.NE.nf_noerr)
then
102 write(*,*)
'ERROR: GROS Pb opening forcings nc file '
103 write(*,*) nf_strerror(ierr)
107 ierr=nf_inq_dimid(nid,
'lat',rid)
108 IF (ierr.NE.nf_noerr)
THEN
109 print*,
'Oh probleme lecture dimension lat'
111 ierr=nf_inq_dimlen(nid,rid,ii)
112 print*,
'OK1 nid,rid,lat',nid,rid,ii
114 ierr=nf_inq_dimid(nid,
'lon',rid)
115 IF (ierr.NE.nf_noerr)
THEN
116 print*,
'Oh probleme lecture dimension lon'
118 ierr=nf_inq_dimlen(nid,rid,jj)
119 print*,
'OK2 nid,rid,lat',nid,rid,jj
121 ierr=nf_inq_dimid(nid,
'lev',rid)
122 IF (ierr.NE.nf_noerr)
THEN
123 print*,
'Oh probleme lecture dimension zz'
125 ierr=nf_inq_dimlen(nid,rid,
nlev_cas)
126 print*,
'OK3 nid,rid,nlev_cas',nid,rid,
nlev_cas
128 ierr=nf_inq_dimid(nid,
'time',rid)
129 print*,
'nid,rid',nid,rid
131 IF (ierr.NE.nf_noerr)
THEN
132 stop
'probleme lecture dimension sens'
134 ierr=nf_inq_dimlen(nid,rid,
nt_cas)
135 print*,
'OK4 nid,rid,nt_cas',nid,rid,
nt_cas
188 print*,
'Allocations OK'
262 subroutine read_cas(nid,nlevel,ntime &
263 & ,zz,pp,temp,qv,rh,theta,rv,
u,v,ug,vg,w, &
264 & du,
hu,vu,dv,
hv,vv,
dt,dtrad,
ht,vt,
dq,
hq,vq, &
265 & dth,hth,vth,dr,hr,vr,sens,
flat,ts,ustar,uw,vw,q1,q2)
269 #include "netcdf.inc"
273 real zz(nlevel,ntime)
274 real pp(nlevel,ntime)
275 real temp(nlevel,ntime),qv(nlevel,ntime),rh(nlevel,ntime)
276 real theta(nlevel,ntime),rv(nlevel,ntime)
279 real ug(nlevel,ntime)
280 real vg(nlevel,ntime)
282 real du(nlevel,ntime),hu(nlevel,ntime),vu(nlevel,ntime)
283 real dv(nlevel,ntime),hv(nlevel,ntime),vv(nlevel,ntime)
284 real dt(nlevel,ntime),ht(nlevel,ntime),vt(nlevel,ntime)
285 real dtrad(nlevel,ntime)
286 real dq(nlevel,ntime),hq(nlevel,ntime),vq(nlevel,ntime)
287 real dth(nlevel,ntime),hth(nlevel,ntime),vth(nlevel,ntime)
288 real dr(nlevel,ntime),hr(nlevel,ntime),vr(nlevel,ntime)
289 real flat(ntime),sens(ntime),ts(ntime),ustar(ntime)
290 real uw(nlevel,ntime),vw(nlevel,ntime),q1(nlevel,ntime),q2(nlevel,ntime)
293 integer nid, ierr,rid
296 integer var3didin(nbvar3d)
298 ierr=nf_inq_varid(nid,
"zz",var3didin(1))
299 if(ierr/=nf_noerr)
then
300 write(*,*) nf_strerror(ierr)
304 ierr=nf_inq_varid(nid,
"pp",var3didin(2))
305 if(ierr/=nf_noerr)
then
306 write(*,*) nf_strerror(ierr)
311 ierr=nf_inq_varid(nid,
"temp",var3didin(3))
312 if(ierr/=nf_noerr)
then
313 write(*,*) nf_strerror(ierr)
317 ierr=nf_inq_varid(nid,
"qv",var3didin(4))
318 if(ierr/=nf_noerr)
then
319 write(*,*) nf_strerror(ierr)
323 ierr=nf_inq_varid(nid,
"rh",var3didin(5))
324 if(ierr/=nf_noerr)
then
325 write(*,*) nf_strerror(ierr)
329 ierr=nf_inq_varid(nid,
"theta",var3didin(6))
330 if(ierr/=nf_noerr)
then
331 write(*,*) nf_strerror(ierr)
335 ierr=nf_inq_varid(nid,
"rv",var3didin(7))
336 if(ierr/=nf_noerr)
then
337 write(*,*) nf_strerror(ierr)
342 ierr=nf_inq_varid(nid,
"u",var3didin(8))
343 if(ierr/=nf_noerr)
then
344 write(*,*) nf_strerror(ierr)
348 ierr=nf_inq_varid(nid,
"v",var3didin(9))
349 if(ierr/=nf_noerr)
then
350 write(*,*) nf_strerror(ierr)
354 ierr=nf_inq_varid(nid,
"ug",var3didin(10))
355 if(ierr/=nf_noerr)
then
356 write(*,*) nf_strerror(ierr)
360 ierr=nf_inq_varid(nid,
"vg",var3didin(11))
361 if(ierr/=nf_noerr)
then
362 write(*,*) nf_strerror(ierr)
366 ierr=nf_inq_varid(nid,
"w",var3didin(12))
367 if(ierr/=nf_noerr)
then
368 write(*,*) nf_strerror(ierr)
372 ierr=nf_inq_varid(nid,
"advu",var3didin(13))
373 if(ierr/=nf_noerr)
then
374 write(*,*) nf_strerror(ierr)
378 ierr=nf_inq_varid(nid,
"hu",var3didin(14))
379 if(ierr/=nf_noerr)
then
380 write(*,*) nf_strerror(ierr)
384 ierr=nf_inq_varid(nid,
"vu",var3didin(15))
385 if(ierr/=nf_noerr)
then
386 write(*,*) nf_strerror(ierr)
390 ierr=nf_inq_varid(nid,
"advv",var3didin(16))
391 if(ierr/=nf_noerr)
then
392 write(*,*) nf_strerror(ierr)
396 ierr=nf_inq_varid(nid,
"hv",var3didin(17))
397 if(ierr/=nf_noerr)
then
398 write(*,*) nf_strerror(ierr)
402 ierr=nf_inq_varid(nid,
"vv",var3didin(18))
403 if(ierr/=nf_noerr)
then
404 write(*,*) nf_strerror(ierr)
408 ierr=nf_inq_varid(nid,
"advT",var3didin(19))
409 if(ierr/=nf_noerr)
then
410 write(*,*) nf_strerror(ierr)
414 ierr=nf_inq_varid(nid,
"hT",var3didin(20))
415 if(ierr/=nf_noerr)
then
416 write(*,*) nf_strerror(ierr)
420 ierr=nf_inq_varid(nid,
"vT",var3didin(21))
421 if(ierr/=nf_noerr)
then
422 write(*,*) nf_strerror(ierr)
426 ierr=nf_inq_varid(nid,
"advq",var3didin(22))
427 if(ierr/=nf_noerr)
then
428 write(*,*) nf_strerror(ierr)
432 ierr=nf_inq_varid(nid,
"hq",var3didin(23))
433 if(ierr/=nf_noerr)
then
434 write(*,*) nf_strerror(ierr)
438 ierr=nf_inq_varid(nid,
"vq",var3didin(24))
439 if(ierr/=nf_noerr)
then
440 write(*,*) nf_strerror(ierr)
444 ierr=nf_inq_varid(nid,
"advth",var3didin(25))
445 if(ierr/=nf_noerr)
then
446 write(*,*) nf_strerror(ierr)
450 ierr=nf_inq_varid(nid,
"hth",var3didin(26))
451 if(ierr/=nf_noerr)
then
452 write(*,*) nf_strerror(ierr)
456 ierr=nf_inq_varid(nid,
"vth",var3didin(27))
457 if(ierr/=nf_noerr)
then
458 write(*,*) nf_strerror(ierr)
462 ierr=nf_inq_varid(nid,
"advr",var3didin(28))
463 if(ierr/=nf_noerr)
then
464 write(*,*) nf_strerror(ierr)
468 ierr=nf_inq_varid(nid,
"hr",var3didin(29))
469 if(ierr/=nf_noerr)
then
470 write(*,*) nf_strerror(ierr)
474 ierr=nf_inq_varid(nid,
"vr",var3didin(30))
475 if(ierr/=nf_noerr)
then
476 write(*,*) nf_strerror(ierr)
480 ierr=nf_inq_varid(nid,
"radT",var3didin(31))
481 if(ierr/=nf_noerr)
then
482 write(*,*) nf_strerror(ierr)
486 ierr=nf_inq_varid(nid,
"sens",var3didin(32))
487 if(ierr/=nf_noerr)
then
488 write(*,*) nf_strerror(ierr)
492 ierr=nf_inq_varid(nid,
"flat",var3didin(33))
493 if(ierr/=nf_noerr)
then
494 write(*,*) nf_strerror(ierr)
498 ierr=nf_inq_varid(nid,
"ts",var3didin(34))
499 if(ierr/=nf_noerr)
then
500 write(*,*) nf_strerror(ierr)
504 ierr=nf_inq_varid(nid,
"ustar",var3didin(35))
505 if(ierr/=nf_noerr)
then
506 write(*,*) nf_strerror(ierr)
510 ierr=nf_inq_varid(nid,
"uw",var3didin(36))
511 if(ierr/=nf_noerr)
then
512 write(*,*) nf_strerror(ierr)
516 ierr=nf_inq_varid(nid,
"vw",var3didin(37))
517 if(ierr/=nf_noerr)
then
518 write(*,*) nf_strerror(ierr)
522 ierr=nf_inq_varid(nid,
"q1",var3didin(38))
523 if(ierr/=nf_noerr)
then
524 write(*,*) nf_strerror(ierr)
528 ierr=nf_inq_varid(nid,
"q2",var3didin(39))
529 if(ierr/=nf_noerr)
then
530 write(*,*) nf_strerror(ierr)
535 ierr = nf_get_var_double(nid,var3didin(1),zz)
537 ierr = nf_get_var_real(nid,var3didin(1),zz)
539 if(ierr/=nf_noerr)
then
540 write(*,*) nf_strerror(ierr)
546 ierr = nf_get_var_double(nid,var3didin(2),pp)
548 ierr = nf_get_var_real(nid,var3didin(2),pp)
550 if(ierr/=nf_noerr)
then
551 write(*,*) nf_strerror(ierr)
558 ierr = nf_get_var_double(nid,var3didin(3),temp)
560 ierr = nf_get_var_real(nid,var3didin(3),temp)
562 if(ierr/=nf_noerr)
then
563 write(*,*) nf_strerror(ierr)
569 ierr = nf_get_var_double(nid,var3didin(4),qv)
571 ierr = nf_get_var_real(nid,var3didin(4),qv)
573 if(ierr/=nf_noerr)
then
574 write(*,*) nf_strerror(ierr)
580 ierr = nf_get_var_double(nid,var3didin(5),rh)
582 ierr = nf_get_var_real(nid,var3didin(5),rh)
584 if(ierr/=nf_noerr)
then
585 write(*,*) nf_strerror(ierr)
591 ierr = nf_get_var_double(nid,var3didin(6),theta)
593 ierr = nf_get_var_real(nid,var3didin(6),theta)
595 if(ierr/=nf_noerr)
then
596 write(*,*) nf_strerror(ierr)
602 ierr = nf_get_var_double(nid,var3didin(7),rv)
604 ierr = nf_get_var_real(nid,var3didin(7),rv)
606 if(ierr/=nf_noerr)
then
607 write(*,*) nf_strerror(ierr)
613 ierr = nf_get_var_double(nid,var3didin(8),u)
615 ierr = nf_get_var_real(nid,var3didin(8),u)
617 if(ierr/=nf_noerr)
then
618 write(*,*) nf_strerror(ierr)
624 ierr = nf_get_var_double(nid,var3didin(9),v)
626 ierr = nf_get_var_real(nid,var3didin(9),v)
628 if(ierr/=nf_noerr)
then
629 write(*,*) nf_strerror(ierr)
635 ierr = nf_get_var_double(nid,var3didin(10),ug)
637 ierr = nf_get_var_real(nid,var3didin(10),ug)
639 if(ierr/=nf_noerr)
then
640 write(*,*) nf_strerror(ierr)
646 ierr = nf_get_var_double(nid,var3didin(11),vg)
648 ierr = nf_get_var_real(nid,var3didin(11),vg)
650 if(ierr/=nf_noerr)
then
651 write(*,*) nf_strerror(ierr)
657 ierr = nf_get_var_double(nid,var3didin(12),w)
659 ierr = nf_get_var_real(nid,var3didin(12),w)
661 if(ierr/=nf_noerr)
then
662 write(*,*) nf_strerror(ierr)
668 ierr = nf_get_var_double(nid,var3didin(13),du)
670 ierr = nf_get_var_real(nid,var3didin(13),du)
672 if(ierr/=nf_noerr)
then
673 write(*,*) nf_strerror(ierr)
679 ierr = nf_get_var_double(nid,var3didin(14),hu)
681 ierr = nf_get_var_real(nid,var3didin(14),hu)
683 if(ierr/=nf_noerr)
then
684 write(*,*) nf_strerror(ierr)
690 ierr = nf_get_var_double(nid,var3didin(15),vu)
692 ierr = nf_get_var_real(nid,var3didin(15),vu)
694 if(ierr/=nf_noerr)
then
695 write(*,*) nf_strerror(ierr)
701 ierr = nf_get_var_double(nid,var3didin(16),dv)
703 ierr = nf_get_var_real(nid,var3didin(16),dv)
705 if(ierr/=nf_noerr)
then
706 write(*,*) nf_strerror(ierr)
712 ierr = nf_get_var_double(nid,var3didin(17),hv)
714 ierr = nf_get_var_real(nid,var3didin(17),hv)
716 if(ierr/=nf_noerr)
then
717 write(*,*) nf_strerror(ierr)
723 ierr = nf_get_var_double(nid,var3didin(18),vv)
725 ierr = nf_get_var_real(nid,var3didin(18),vv)
727 if(ierr/=nf_noerr)
then
728 write(*,*) nf_strerror(ierr)
734 ierr = nf_get_var_double(nid,var3didin(19),dt)
736 ierr = nf_get_var_real(nid,var3didin(19),dt)
738 if(ierr/=nf_noerr)
then
739 write(*,*) nf_strerror(ierr)
745 ierr = nf_get_var_double(nid,var3didin(20),ht)
747 ierr = nf_get_var_real(nid,var3didin(20),ht)
749 if(ierr/=nf_noerr)
then
750 write(*,*) nf_strerror(ierr)
756 ierr = nf_get_var_double(nid,var3didin(21),vt)
758 ierr = nf_get_var_real(nid,var3didin(21),vt)
760 if(ierr/=nf_noerr)
then
761 write(*,*) nf_strerror(ierr)
767 ierr = nf_get_var_double(nid,var3didin(22),dq)
769 ierr = nf_get_var_real(nid,var3didin(22),dq)
771 if(ierr/=nf_noerr)
then
772 write(*,*) nf_strerror(ierr)
778 ierr = nf_get_var_double(nid,var3didin(23),hq)
780 ierr = nf_get_var_real(nid,var3didin(23),hq)
782 if(ierr/=nf_noerr)
then
783 write(*,*) nf_strerror(ierr)
789 ierr = nf_get_var_double(nid,var3didin(24),vq)
791 ierr = nf_get_var_real(nid,var3didin(24),vq)
793 if(ierr/=nf_noerr)
then
794 write(*,*) nf_strerror(ierr)
800 ierr = nf_get_var_double(nid,var3didin(25),dth)
802 ierr = nf_get_var_real(nid,var3didin(25),dth)
804 if(ierr/=nf_noerr)
then
805 write(*,*) nf_strerror(ierr)
811 ierr = nf_get_var_double(nid,var3didin(26),hth)
813 ierr = nf_get_var_real(nid,var3didin(26),hth)
815 if(ierr/=nf_noerr)
then
816 write(*,*) nf_strerror(ierr)
822 ierr = nf_get_var_double(nid,var3didin(27),vth)
824 ierr = nf_get_var_real(nid,var3didin(27),vth)
826 if(ierr/=nf_noerr)
then
827 write(*,*) nf_strerror(ierr)
833 ierr = nf_get_var_double(nid,var3didin(28),dr)
835 ierr = nf_get_var_real(nid,var3didin(28),dr)
837 if(ierr/=nf_noerr)
then
838 write(*,*) nf_strerror(ierr)
844 ierr = nf_get_var_double(nid,var3didin(29),hr)
846 ierr = nf_get_var_real(nid,var3didin(29),hr)
848 if(ierr/=nf_noerr)
then
849 write(*,*) nf_strerror(ierr)
855 ierr = nf_get_var_double(nid,var3didin(30),vr)
857 ierr = nf_get_var_real(nid,var3didin(30),vr)
859 if(ierr/=nf_noerr)
then
860 write(*,*) nf_strerror(ierr)
866 ierr = nf_get_var_double(nid,var3didin(31),dtrad)
868 ierr = nf_get_var_real(nid,var3didin(31),dtrad)
870 if(ierr/=nf_noerr)
then
871 write(*,*) nf_strerror(ierr)
877 ierr = nf_get_var_double(nid,var3didin(32),sens)
879 ierr = nf_get_var_real(nid,var3didin(32),sens)
881 if(ierr/=nf_noerr)
then
882 write(*,*) nf_strerror(ierr)
888 ierr = nf_get_var_double(nid,var3didin(33),flat)
890 ierr = nf_get_var_real(nid,var3didin(33),flat)
892 if(ierr/=nf_noerr)
then
893 write(*,*) nf_strerror(ierr)
899 ierr = nf_get_var_double(nid,var3didin(34),ts)
901 ierr = nf_get_var_real(nid,var3didin(34),ts)
903 if(ierr/=nf_noerr)
then
904 write(*,*) nf_strerror(ierr)
910 ierr = nf_get_var_double(nid,var3didin(35),ustar)
912 ierr = nf_get_var_real(nid,var3didin(35),ustar)
914 if(ierr/=nf_noerr)
then
915 write(*,*) nf_strerror(ierr)
921 ierr = nf_get_var_double(nid,var3didin(36),uw)
923 ierr = nf_get_var_real(nid,var3didin(36),uw)
925 if(ierr/=nf_noerr)
then
926 write(*,*) nf_strerror(ierr)
932 ierr = nf_get_var_double(nid,var3didin(37),vw)
934 ierr = nf_get_var_real(nid,var3didin(37),vw)
936 if(ierr/=nf_noerr)
then
937 write(*,*) nf_strerror(ierr)
943 ierr = nf_get_var_double(nid,var3didin(38),q1)
945 ierr = nf_get_var_real(nid,var3didin(38),q1)
947 if(ierr/=nf_noerr)
then
948 write(*,*) nf_strerror(ierr)
954 ierr = nf_get_var_double(nid,var3didin(39),q2)
956 ierr = nf_get_var_real(nid,var3didin(39),q2)
958 if(ierr/=nf_noerr)
then
959 write(*,*) nf_strerror(ierr)
971 & ,ts_cas,plev_cas,t_cas,q_cas,u_cas,v_cas &
972 & ,ug_cas,vg_cas,vitw_cas,du_cas,hu_cas,vu_cas &
973 & ,dv_cas,hv_cas,vv_cas,dt_cas,ht_cas,vt_cas,dtrad_cas &
974 & ,dq_cas,hq_cas,vq_cas,lat_cas,sens_cas,ustar_cas &
975 & ,uw_cas,vw_cas,q1_cas,q2_cas &
976 & ,ts_prof_cas,plev_prof_cas,t_prof_cas,q_prof_cas &
977 & ,u_prof_cas,v_prof_cas,ug_prof_cas,vg_prof_cas &
978 & ,vitw_prof_cas,du_prof_cas,hu_prof_cas,vu_prof_cas &
979 & ,dv_prof_cas,hv_prof_cas,vv_prof_cas,dt_prof_cas &
980 & ,ht_prof_cas,vt_prof_cas,dtrad_prof_cas,dq_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)
996 #include "compar1d.h"
997 #include "date_cas.h"
1001 integer nt_cas,nlev_cas
1002 real day, day1,day_cas
1004 real plev_cas(nlev_cas,nt_cas)
1005 real t_cas(nlev_cas,nt_cas),q_cas(nlev_cas,nt_cas)
1006 real u_cas(nlev_cas,nt_cas),v_cas(nlev_cas,nt_cas)
1007 real ug_cas(nlev_cas,nt_cas),vg_cas(nlev_cas,nt_cas)
1008 real vitw_cas(nlev_cas,nt_cas)
1009 real du_cas(nlev_cas,nt_cas),hu_cas(nlev_cas,nt_cas),vu_cas(nlev_cas,nt_cas)
1010 real dv_cas(nlev_cas,nt_cas),hv_cas(nlev_cas,nt_cas),vv_cas(nlev_cas,nt_cas)
1011 real dt_cas(nlev_cas,nt_cas),ht_cas(nlev_cas,nt_cas),vt_cas(nlev_cas,nt_cas)
1012 real dtrad_cas(nlev_cas,nt_cas)
1013 real dq_cas(nlev_cas,nt_cas),hq_cas(nlev_cas,nt_cas),vq_cas(nlev_cas,nt_cas)
1014 real lat_cas(nt_cas)
1015 real sens_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)
1020 real plev_prof_cas(nlev_cas)
1021 real t_prof_cas(nlev_cas),q_prof_cas(nlev_cas)
1022 real u_prof_cas(nlev_cas),v_prof_cas(nlev_cas)
1023 real ug_prof_cas(nlev_cas),vg_prof_cas(nlev_cas)
1024 real vitw_prof_cas(nlev_cas)
1025 real du_prof_cas(nlev_cas),hu_prof_cas(nlev_cas),vu_prof_cas(nlev_cas)
1026 real dv_prof_cas(nlev_cas),hv_prof_cas(nlev_cas),vv_prof_cas(nlev_cas)
1027 real dt_prof_cas(nlev_cas),ht_prof_cas(nlev_cas),vt_prof_cas(nlev_cas)
1028 real dtrad_prof_cas(nlev_cas)
1029 real dq_prof_cas(nlev_cas),hq_prof_cas(nlev_cas),vq_prof_cas(nlev_cas)
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)
1033 integer it_cas1, it_cas2,k
1034 real timeit,time_cas1,time_cas2,frac
1069 timeit=(day-day_ju_ini_cas)*86400
1071 print *,
'day_ju_ini_cas=',day_ju_ini_cas
1073 print *,
'timeit=',timeit
1074 print *,
'nt_cas=',nt_cas
1083 IF (it_cas1 .EQ. nt_cas)
THEN
1090 print *,
'it_cas1=',it_cas1
1091 print *,
'it_cas2=',it_cas2
1092 print *,
'time_cas1=',time_cas1
1093 print *,
'time_cas2=',time_cas2
1095 if (it_cas1 .gt. nt_cas)
then
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
1102 IF (it_cas1 .EQ. it_cas2)
THEN
1105 frac=(time_cas2-timeit)/(time_cas2-time_cas1)
1109 lat_prof_cas = lat_cas(it_cas2) &
1110 & -frac*(lat_cas(it_cas2)-lat_cas(it_cas1))
1111 sens_prof_cas = sens_cas(it_cas2) &
1112 & -frac*(sens_cas(it_cas2)-sens_cas(it_cas1))
1113 ts_prof_cas = ts_cas(it_cas2) &
1114 & -frac*(ts_cas(it_cas2)-ts_cas(it_cas1))
1115 ustar_prof_cas = ustar_cas(it_cas2) &
1116 & -frac*(ustar_cas(it_cas2)-ustar_cas(it_cas1))
1119 plev_prof_cas(k) = plev_cas(k,it_cas2) &
1120 & -frac*(plev_cas(k,it_cas2)-plev_cas(k,it_cas1))
1121 t_prof_cas(k) = t_cas(k,it_cas2) &
1122 & -frac*(t_cas(k,it_cas2)-t_cas(k,it_cas1))
1123 q_prof_cas(k) = q_cas(k,it_cas2) &
1124 & -frac*(q_cas(k,it_cas2)-q_cas(k,it_cas1))
1125 u_prof_cas(k) = u_cas(k,it_cas2) &
1126 & -frac*(u_cas(k,it_cas2)-u_cas(k,it_cas1))
1127 v_prof_cas(k) = v_cas(k,it_cas2) &
1128 & -frac*(v_cas(k,it_cas2)-v_cas(k,it_cas1))
1129 ug_prof_cas(k) = ug_cas(k,it_cas2) &
1130 & -frac*(ug_cas(k,it_cas2)-ug_cas(k,it_cas1))
1131 vg_prof_cas(k) = vg_cas(k,it_cas2) &
1132 & -frac*(vg_cas(k,it_cas2)-vg_cas(k,it_cas1))
1133 vitw_prof_cas(k) = vitw_cas(k,it_cas2) &
1134 & -frac*(vitw_cas(k,it_cas2)-vitw_cas(k,it_cas1))
1135 du_prof_cas(k) = du_cas(k,it_cas2) &
1136 & -frac*(du_cas(k,it_cas2)-du_cas(k,it_cas1))
1137 hu_prof_cas(k) = hu_cas(k,it_cas2) &
1138 & -frac*(hu_cas(k,it_cas2)-hu_cas(k,it_cas1))
1139 vu_prof_cas(k) = vu_cas(k,it_cas2) &
1140 & -frac*(vu_cas(k,it_cas2)-vu_cas(k,it_cas1))
1141 dv_prof_cas(k) = dv_cas(k,it_cas2) &
1142 & -frac*(dv_cas(k,it_cas2)-dv_cas(k,it_cas1))
1143 hv_prof_cas(k) = hv_cas(k,it_cas2) &
1144 & -frac*(hv_cas(k,it_cas2)-hv_cas(k,it_cas1))
1145 vv_prof_cas(k) = vv_cas(k,it_cas2) &
1146 & -frac*(vv_cas(k,it_cas2)-vv_cas(k,it_cas1))
1147 dt_prof_cas(k) = dt_cas(k,it_cas2) &
1148 & -frac*(dt_cas(k,it_cas2)-dt_cas(k,it_cas1))
1149 ht_prof_cas(k) = ht_cas(k,it_cas2) &
1150 & -frac*(ht_cas(k,it_cas2)-ht_cas(k,it_cas1))
1151 vt_prof_cas(k) = vt_cas(k,it_cas2) &
1152 & -frac*(vt_cas(k,it_cas2)-vt_cas(k,it_cas1))
1153 dtrad_prof_cas(k) = dtrad_cas(k,it_cas2) &
1154 & -frac*(dtrad_cas(k,it_cas2)-dtrad_cas(k,it_cas1))
1155 dq_prof_cas(k) = dq_cas(k,it_cas2) &
1156 & -frac*(dq_cas(k,it_cas2)-dq_cas(k,it_cas1))
1157 hq_prof_cas(k) = hq_cas(k,it_cas2) &
1158 & -frac*(hq_cas(k,it_cas2)-hq_cas(k,it_cas1))
1159 vq_prof_cas(k) = vq_cas(k,it_cas2) &
1160 & -frac*(vq_cas(k,it_cas2)-vq_cas(k,it_cas1))
1161 uw_prof_cas(k) = uw_cas(k,it_cas2) &
1162 & -frac*(uw_cas(k,it_cas2)-uw_cas(k,it_cas1))
1163 vw_prof_cas(k) = vw_cas(k,it_cas2) &
1164 & -frac*(vw_cas(k,it_cas2)-vw_cas(k,it_cas1))
1165 q1_prof_cas(k) = q1_cas(k,it_cas2) &
1166 & -frac*(q1_cas(k,it_cas2)-q1_cas(k,it_cas1))
1167 q2_prof_cas(k) = q2_cas(k,it_cas2) &
1168 & -frac*(q2_cas(k,it_cas2)-q2_cas(k,it_cas1))
real, dimension(:), allocatable u_prof_cas
real, dimension(:), allocatable v_prof_cas
real, dimension(:,:), allocatable hth_cas
real, dimension(:), allocatable ug_prof_cas
real, dimension(:), allocatable t_prof_cas
real, dimension(:), allocatable vw_prof_cas
real, dimension(:,:), allocatable th_cas
subroutine read_cas(nid, nlevel, ntime, zz, pp, temp, qv, rh, theta, rv, u, v, ug, vg, w, du, hu, vu, dv, hv, vv, dt, dtrad, ht, vt, dq, hq, vq, dth, hth, vth, dr, hr, vr, sens, flat, ts, ustar, uw, vw, q1, q2)
real, dimension(:,:), allocatable vv_cas
do llm!au dessus on relaxe vers profil init!on fait l hypothese que dans ce il n y a plus d eau liq au dessus!donc la relaxation en thetal et qt devient relaxation en tempe et qv l dq1 relax dq(l, 1)
real, dimension(:), allocatable uw_prof_cas
real, dimension(:,:), allocatable q1_cas
real, dimension(:,:), allocatable dv_cas
!$Id calend INTEGER itaufin INTEGER itau_phy INTEGER day_ref REAL dt
real, dimension(:), allocatable ts_cas
real, dimension(:), allocatable vu_prof_cas
real, dimension(:,:), allocatable v_cas
real, dimension(:,:), allocatable u_cas
real, dimension(:,:), allocatable z_cas
real, dimension(:,:), allocatable vr_cas
real, dimension(:,:), allocatable vw_cas
real, dimension(:,:), allocatable dt_cas
subroutine interp_case_time(day, day1, annee_ref
real, dimension(:,:), allocatable du_cas
real, dimension(:,:), allocatable q_cas
integer::year_ini_cas!initial year of the case integer::mth_ini_cas!initial month of the case integer::day_deb!initial day of the case real::heure_ini_cas!start time of the case real::pdt_cas!forcing_frequency real::day_ju_ini_cas!julian day of initial day of the case common date_cas day_deb
real, dimension(:,:), allocatable vu_cas
real, dimension(:), allocatable plev_prof_cas
real, dimension(:), allocatable lat_cas
real, dimension(:,:), allocatable vitw_cas
real, dimension(:,:), allocatable hq_cas
real, dimension(:,:), allocatable t_cas
real, dimension(:,:), allocatable vg_cas
real, dimension(:), allocatable q1_prof_cas
real, dimension(:), allocatable ustar_cas
real, dimension(:,:), allocatable ht_cas
real, dimension(:,:), allocatable rv_cas
real, dimension(:,:), allocatable uw_cas
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
real, dimension(:,:), allocatable vth_cas
real, dimension(:,:), allocatable vq_cas
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm u(l)
real, dimension(:), allocatable vq_prof_cas
real, dimension(:), allocatable vt_prof_cas
real, dimension(:,:), allocatable vt_cas
real, dimension(:,:), allocatable hu_cas
real, dimension(:,:), allocatable q2_cas
real, dimension(:), allocatable hq_prof_cas
real, dimension(:), allocatable q2_prof_cas
real, dimension(:,:), allocatable hr_cas
real, dimension(:), allocatable dtrad_prof_cas
real, dimension(:), allocatable q_prof_cas
real, dimension(:), allocatable ht_prof_cas
real, dimension(:), allocatable du_prof_cas
real, dimension(:), allocatable vitw_prof_cas
real, dimension(:,:), allocatable dth_cas
real, dimension(:), allocatable dt_prof_cas
real, dimension(:,:), allocatable dr_cas
integer::year_ini_cas!initial year of the case integer::mth_ini_cas!initial month of the case integer::day_deb!initial day of the case real::heure_ini_cas!start time of the case real::pdt_cas!forcing_frequency real::day_ju_ini_cas!julian day of initial day of the case common date_cas pdt_cas
real, dimension(:), allocatable hu_prof_cas
real, dimension(:), allocatable dv_prof_cas
real, dimension(:,:), allocatable hv_cas
real, dimension(:,:), allocatable plev_cas
real, dimension(:), allocatable sens_cas
real, dimension(:), allocatable dq_prof_cas
real, dimension(:,:), allocatable dq_cas
real, dimension(:,:), allocatable rh_cas
real, dimension(:), allocatable vg_prof_cas
real, dimension(:,:), allocatable dtrad_cas
real, dimension(:), allocatable vv_prof_cas
real, dimension(:), allocatable hv_prof_cas
real, dimension(:,:), allocatable ug_cas
subroutine deallocate_1d_cases