120 ( tpdom,pustar,tpmxl,tpatm, &
121 tpblkw,tpblki,tpbud,tpdia,tptfl,tpsit,tpsil,tpsit_d )
135 USE modi_glt_thermo_r
136 USE modi_glt_constrain_r
144 TYPE(t_dom),
DIMENSION(nx,ny),
INTENT(in) :: &
146 REAL,
DIMENSION(nx,ny),
INTENT(in) :: &
148 TYPE(t_mxl),
DIMENSION(nx,ny),
INTENT(in) :: &
150 TYPE(t_atm),
DIMENSION(nx,ny),
INTENT(in) :: &
152 TYPE(t_blk),
DIMENSION(nx,ny),
INTENT(inout) :: &
154 TYPE(t_blk),
DIMENSION(nt,nx,ny),
INTENT(in) :: &
156 TYPE(t_bud),
DIMENSION(nx,ny),
INTENT(inout) :: &
158 TYPE(t_dia),
DIMENSION(nx,ny),
INTENT(inout) :: &
160 TYPE(t_tfl),
DIMENSION(nx,ny),
INTENT(inout) :: &
162 TYPE(t_sit),
DIMENSION(nt,nx,ny),
INTENT(inout) :: &
164 TYPE(t_vtp),
DIMENSION(nl,nt,nx,ny),
INTENT(inout) :: &
166 TYPE(t_sit),
DIMENSION(ntd,nx,ny),
OPTIONAL,
INTENT(in) :: &
175 LOGICAL,
DIMENSION(nx,ny) :: &
177 INTEGER,
DIMENSION(nx,ny) :: &
179 REAL,
DIMENSION(nx,ny) :: &
181 TYPE(t_dia),
DIMENSION(nx,ny) :: &
183 TYPE(t_tfl),
DIMENSION(nx,ny) :: &
185 TYPE(t_sit),
DIMENSION(nt,nx,ny) :: &
187 TYPE(t_vtp),
DIMENSION(nl,nt,nx,ny) :: &
195 TYPE(t_dom),
DIMENSION(:),
ALLOCATABLE :: &
197 REAL,
DIMENSION(:),
ALLOCATABLE :: &
199 TYPE(t_mxl),
DIMENSION(:),
ALLOCATABLE :: &
201 TYPE(t_atm),
DIMENSION(:),
ALLOCATABLE :: &
203 TYPE(t_blk),
DIMENSION(:),
ALLOCATABLE :: &
205 TYPE(t_blk),
DIMENSION(:,:),
ALLOCATABLE :: &
207 TYPE(t_bud),
DIMENSION(:),
ALLOCATABLE :: &
209 TYPE(t_dia),
DIMENSION(:),
ALLOCATABLE :: &
211 TYPE(t_tfl),
DIMENSION(:),
ALLOCATABLE :: &
213 TYPE(t_sit),
DIMENSION(:,:),
ALLOCATABLE :: &
215 TYPE(t_sit),
DIMENSION(:,:),
ALLOCATABLE :: &
217 TYPE(t_vtp),
DIMENSION(:,:,:),
ALLOCATABLE :: &
226 WRITE(noutlu,*)
' *** LEVEL 3 - SUBROUTINE THERMO'
245 WHERE( tpdom(:,:)%tmk==1 .AND. &
246 (tpmxl(:,:)%tml <= 1. .OR. zfsit(:,:)>epsil1) )
250 gsel(:,:) = ( isel(:,:)==1 )
262 '**********************************************************'
263 WRITE(noutlu,*)
'REDUCED GRID:'
264 WRITE(noutlu,1000) gelato_myrank, np, nx*ny, nx, ny
266 '**********************************************************'
275 ALLOCATE( tzdom_r(np) )
276 ALLOCATE( zustar_r(np) )
277 ALLOCATE( tzmxl_r(np) )
278 ALLOCATE( tzatm_r(np) )
279 ALLOCATE( tzblkw_r(np) )
280 ALLOCATE( tzblki_r(nt,np) )
281 ALLOCATE( tzbud_r(np) )
282 ALLOCATE( tzdia_r(np) )
283 ALLOCATE( tztfl_r(np) )
285 IF ( present(tpsit_d) )
ALLOCATE( tzsit_d_r(ntd,np) )
286 ALLOCATE( tzsit_r(nt,np) )
287 ALLOCATE( tzsil_r(nl,nt,np) )
300 tzdom_r%tmk = pack( tpdom%tmk ,gsel )
301 tzdom_r%umk = pack( tpdom%umk ,gsel )
302 tzdom_r%vmk = pack( tpdom%vmk ,gsel )
303 tzdom_r%imk = pack( tpdom%imk ,gsel )
304 tzdom_r%indi = pack( tpdom%indi ,gsel )
305 tzdom_r%indj = pack( tpdom%indj ,gsel )
306 tzdom_r%lon = pack( tpdom%lon ,gsel )
307 tzdom_r%lat = pack( tpdom%lat ,gsel )
308 tzdom_r%dxc = pack( tpdom%dxc ,gsel )
309 tzdom_r%dyc = pack( tpdom%dyc ,gsel )
310 tzdom_r%srf = pack( tpdom%srf ,gsel )
314 zustar_r = pack( pustar, gsel )
318 tzmxl_r%hco = pack( tpmxl%hco ,gsel )
319 tzmxl_r%qoc = pack( tpmxl%qoc ,gsel )
320 tzmxl_r%sml = pack( tpmxl%sml ,gsel )
321 tzmxl_r%ssh = pack( tpmxl%ssh ,gsel )
322 tzmxl_r%tml = pack( tpmxl%tml ,gsel )
323 tzmxl_r%mlf = pack( tpmxl%mlf ,gsel )
324 tzmxl_r%uml = pack( tpmxl%uml ,gsel )
325 tzmxl_r%vml = pack( tpmxl%vml ,gsel )
326 tzmxl_r%qml = pack( tpmxl%qml ,gsel )
330 tzatm_r%lip = pack( tpatm%lip ,gsel )
331 tzatm_r%sop = pack( tpatm%sop ,gsel )
332 tzatm_r%ztx = pack( tpatm%ztx ,gsel )
333 tzatm_r%mty = pack( tpatm%mty ,gsel )
337 tzblkw_r%swa = pack( tpblkw%swa ,gsel )
338 tzblkw_r%nsf = pack( tpblkw%nsf ,gsel )
339 tzblkw_r%dfl = pack( tpblkw%dfl ,gsel )
340 tzblkw_r%eva = pack( tpblkw%eva ,gsel )
345 tzblki_r(jk,:)%swa = pack( tpblki(jk,:,:)%swa ,gsel )
346 tzblki_r(jk,:)%nsf = pack( tpblki(jk,:,:)%nsf ,gsel )
347 tzblki_r(jk,:)%dfl = pack( tpblki(jk,:,:)%dfl ,gsel )
348 tzblki_r(jk,:)%eva = pack( tpblki(jk,:,:)%eva ,gsel )
353 tzbud_r%eni = pack( tpbud%eni ,gsel )
354 tzbud_r%enn = pack( tpbud%enn ,gsel )
355 tzbud_r%bii = pack( tpbud%bii ,gsel )
356 tzbud_r%nii = pack( tpbud%nii ,gsel )
357 tzbud_r%nli = pack( tpbud%nli ,gsel )
358 tzbud_r%hii = pack( tpbud%hii ,gsel )
359 tzbud_r%hli = pack( tpbud%hli ,gsel )
360 tzbud_r%hio = pack( tpbud%hio ,gsel )
361 tzbud_r%hlo = pack( tpbud%hlo ,gsel )
362 tzbud_r%wii = pack( tpbud%wii ,gsel )
363 tzbud_r%wli = pack( tpbud%wli ,gsel )
364 tzbud_r%fwi = pack( tpbud%fwi ,gsel )
365 tzbud_r%fwn = pack( tpbud%fwn ,gsel )
366 tzbud_r%isi = pack( tpbud%isi ,gsel )
367 tzbud_r%isn = pack( tpbud%isn ,gsel )
371 tzdia_r%uvl = pack( tpdia%uvl ,gsel )
372 tzdia_r%vvl = pack( tpdia%vvl ,gsel )
373 tzdia_r%aiw = pack( tpdia%aiw ,gsel )
374 tzdia_r%asi = pack( tpdia%asi ,gsel )
375 tzdia_r%amp = pack( tpdia%amp ,gsel )
376 tzdia_r%asn = pack( tpdia%asn ,gsel )
377 tzdia_r%cgl = pack( tpdia%cgl ,gsel )
378 tzdia_r%dsa = pack( tpdia%dsa ,gsel )
379 tzdia_r%dsn = pack( tpdia%dsn ,gsel )
380 tzdia_r%dsi = pack( tpdia%dsi ,gsel )
381 tzdia_r%dwi = pack( tpdia%dwi ,gsel )
382 tzdia_r%lip = pack( tpdia%lip ,gsel )
383 tzdia_r%lsi = pack( tpdia%lsi ,gsel )
384 tzdia_r%mrb = pack( tpdia%mrb ,gsel )
385 tzdia_r%mrt = pack( tpdia%mrt ,gsel )
386 tzdia_r%mrl = pack( tpdia%mrl ,gsel )
387 tzdia_r%sie = pack( tpdia%sie ,gsel )
388 tzdia_r%sne = pack( tpdia%sne ,gsel )
389 tzdia_r%sni = pack( tpdia%sni ,gsel )
390 tzdia_r%snm = pack( tpdia%snm ,gsel )
391 tzdia_r%snml = pack( tpdia%snml ,gsel )
392 tzdia_r%sop = pack( tpdia%sop ,gsel )
393 tzdia_r%the = pack( tpdia%the ,gsel )
394 tzdia_r%tin = pack( tpdia%tin ,gsel )
395 tzdia_r%tiw = pack( tpdia%tiw ,gsel )
396 tzdia_r%qoi = pack( tpdia%qoi ,gsel )
397 tzdia_r%xtr = pack( tpdia%xtr ,gsel )
398 tzdia_r%ytr = pack( tpdia%ytr ,gsel )
399 tzdia_r%sp1 = pack( tpdia%sp1 ,gsel )
400 tzdia_r%sp2 = pack( tpdia%sp2 ,gsel )
401 tzdia_r%sui = pack( tpdia%sui ,gsel )
402 tzdia_r%sut = pack( tpdia%sut ,gsel )
403 tzdia_r%sus = pack( tpdia%sus ,gsel )
404 tzdia_r%suw = pack( tpdia%suw ,gsel )
405 tzdia_r%s_pr = pack( tpdia%s_pr ,gsel )
406 tzdia_r%s_prsn = pack( tpdia%s_prsn ,gsel )
407 tzdia_r%o_pr = pack( tpdia%o_pr ,gsel )
408 tzdia_r%o_prsn = pack( tpdia%o_prsn ,gsel )
409 tzdia_r%subcio = pack( tpdia%subcio ,gsel )
410 tzdia_r%snicio = pack( tpdia%snicio ,gsel )
411 tzdia_r%hsicio = pack( tpdia%hsicio ,gsel )
412 tzdia_r%lmlcio = pack( tpdia%lmlcio ,gsel )
413 tzdia_r%salcio = pack( tpdia%salcio ,gsel )
414 tzdia_r%l_pr = pack( tpdia%l_pr ,gsel )
415 tzdia_r%l_prsn = pack( tpdia%l_prsn ,gsel )
416 tzdia_r%sul = pack( tpdia%sul ,gsel )
427 tztfl_r%lio = pack( tptfl%lio ,gsel )
428 tztfl_r%llo = pack( tptfl%llo ,gsel )
429 tztfl_r%tio = pack( tptfl%tio ,gsel )
430 tztfl_r%tlo = pack( tptfl%tlo ,gsel )
431 tztfl_r%sio = pack( tptfl%sio ,gsel )
432 tztfl_r%cio = pack( tptfl%cio ,gsel )
433 tztfl_r%wio = pack( tptfl%wio ,gsel )
434 tztfl_r%wlo = pack( tptfl%wlo ,gsel )
435 tztfl_r%xio = pack( tptfl%xio ,gsel )
436 tztfl_r%yio = pack( tptfl%yio ,gsel )
440 IF ( present(tpsit_d) )
THEN
442 tzsit_d_r(jk,:)%esi = pack( tpsit_d(jk,:,:)%esi, gsel )
443 tzsit_d_r(jk,:)%asn = pack( tpsit_d(jk,:,:)%asn, gsel )
444 tzsit_d_r(jk,:)%fsi = pack( tpsit_d(jk,:,:)%fsi, gsel )
445 tzsit_d_r(jk,:)%hsi = pack( tpsit_d(jk,:,:)%hsi, gsel )
446 tzsit_d_r(jk,:)%hsn = pack( tpsit_d(jk,:,:)%hsn, gsel )
447 tzsit_d_r(jk,:)%rsn = pack( tpsit_d(jk,:,:)%rsn, gsel )
448 tzsit_d_r(jk,:)%tsf = pack( tpsit_d(jk,:,:)%tsf, gsel )
449 tzsit_d_r(jk,:)%ssi = pack( tpsit_d(jk,:,:)%ssi, gsel )
450 tzsit_d_r(jk,:)%age = pack( tpsit_d(jk,:,:)%age, gsel )
451 tzsit_d_r(jk,:)%vmp = pack( tpsit_d(jk,:,:)%vmp ,gsel )
458 tzsit_r(jk,:)%esi = pack( tpsit(jk,:,:)%esi ,gsel )
459 tzsit_r(jk,:)%asn = pack( tpsit(jk,:,:)%asn ,gsel )
460 tzsit_r(jk,:)%fsi = pack( tpsit(jk,:,:)%fsi ,gsel )
461 tzsit_r(jk,:)%hsi = pack( tpsit(jk,:,:)%hsi ,gsel )
462 tzsit_r(jk,:)%hsn = pack( tpsit(jk,:,:)%hsn ,gsel )
463 tzsit_r(jk,:)%rsn = pack( tpsit(jk,:,:)%rsn ,gsel )
464 tzsit_r(jk,:)%tsf = pack( tpsit(jk,:,:)%tsf ,gsel )
465 tzsit_r(jk,:)%ssi = pack( tpsit(jk,:,:)%ssi ,gsel )
466 tzsit_r(jk,:)%age = pack( tpsit(jk,:,:)%age ,gsel )
467 tzsit_r(jk,:)%vmp = pack( tpsit(jk,:,:)%vmp ,gsel )
474 tzsil_r(jl,jk,:)%ent = pack( tpsil(jl,jk,:,:)%ent ,gsel )
482 xdomsrf_r = sum( tzdom_r(:)%dxc*tzdom_r(:)%dyc )
488 IF ( nthermo==1 )
THEN
490 ( tzdom_r,zustar_r,tzmxl_r,tzatm_r,tzblkw_r,tzblki_r,tzbud_r,tzdia_r, &
491 tztfl_r,tzsit_r,tzsil_r )
499 CALL
glt_constrain_r( tzdom_r,tzmxl_r,tzsit_r,tzsil_r,tzdia_r,tzsit_d_r )
535 tzdia0(:,:)%snml = 0.
550 tzdia0(:,:)%s_pr = 0.
551 tzdia0(:,:)%s_prsn = 0.
552 tzdia0(:,:)%o_pr = 0.
553 tzdia0(:,:)%o_prsn = 0.
554 tzdia0(:,:)%l_pr = 0.
555 tzdia0(:,:)%l_prsn = 0.
556 tzdia0(:,:)%subcio = 0.
557 tzdia0(:,:)%snicio = 0.
558 tzdia0(:,:)%hsicio = 0.
559 tzdia0(:,:)%lmlcio = 0.
560 tzdia0(:,:)%salcio = 0.
562 tpdia%uvl = unpack( tzdia_r%uvl,gsel,tzdia0%uvl )
563 tpdia%vvl = unpack( tzdia_r%vvl,gsel,tzdia0%vvl )
564 tpdia%aiw = unpack( tzdia_r%aiw,gsel,tzdia0%aiw )
565 tpdia%asi = unpack( tzdia_r%asi,gsel,tzdia0%asi )
566 tpdia%amp = unpack( tzdia_r%amp,gsel,tzdia0%amp )
567 tpdia%asn = unpack( tzdia_r%asn,gsel,tzdia0%asn )
568 tpdia%cgl = unpack( tzdia_r%cgl,gsel,tzdia0%cgl )
569 tpdia%dsa = unpack( tzdia_r%dsa,gsel,tzdia0%dsa )
570 tpdia%dsn = unpack( tzdia_r%dsn,gsel,tzdia0%dsn )
571 tpdia%dsi = unpack( tzdia_r%dsi,gsel,tzdia0%dsi )
572 tpdia%dci = unpack( tzdia_r%dci,gsel,tzdia0%dci )
573 tpdia%cst = unpack( tzdia_r%cst,gsel,tzdia0%cst )
574 tpdia%dwi = unpack( tzdia_r%dwi,gsel,tzdia0%dwi )
575 tpdia%lip = unpack( tzdia_r%lip,gsel,tzdia0%lip )
576 tpdia%lsi = unpack( tzdia_r%lsi,gsel,tzdia0%lsi )
577 tpdia%mrb = unpack( tzdia_r%mrb,gsel,tzdia0%mrb )
578 tpdia%mrt = unpack( tzdia_r%mrt,gsel,tzdia0%mrt )
579 tpdia%mrl = unpack( tzdia_r%mrl,gsel,tzdia0%mrl )
580 tpdia%sie = unpack( tzdia_r%sie,gsel,tzdia0%sie )
581 tpdia%sne = unpack( tzdia_r%sne,gsel,tzdia0%sne )
582 tpdia%sni = unpack( tzdia_r%sni,gsel,tzdia0%sni )
583 tpdia%snm = unpack( tzdia_r%snm,gsel,tzdia0%snm )
584 tpdia%snml = unpack( tzdia_r%snml,gsel,tzdia0%snml )
585 tpdia%sop = unpack( tzdia_r%sop,gsel,tzdia0%sop )
586 tpdia%the = unpack( tzdia_r%the,gsel,tzdia0%the )
587 tpdia%tin = unpack( tzdia_r%tin,gsel,tzdia0%tin )
588 tpdia%tiw = unpack( tzdia_r%tiw,gsel,tzdia0%tiw )
589 tpdia%qoi = unpack( tzdia_r%qoi,gsel,tzdia0%qoi )
590 tpdia%xtr = unpack( tzdia_r%xtr,gsel,tzdia0%xtr )
591 tpdia%ytr = unpack( tzdia_r%ytr,gsel,tzdia0%ytr )
592 tpdia%sp1 = unpack( tzdia_r%sp1,gsel,tzdia0%sp1 )
593 tpdia%sp2 = unpack( tzdia_r%sp2,gsel,tzdia0%sp2 )
594 tpdia%sus = unpack( tzdia_r%sus,gsel,tzdia0%sus )
595 tpdia%sut = unpack( tzdia_r%sut,gsel,tzdia0%sut )
596 tpdia%sui = unpack( tzdia_r%sui,gsel,tzdia0%sui )
597 tpdia%suw = unpack( tzdia_r%suw,gsel,tzdia0%suw )
598 tpdia%s_pr = unpack( tzdia_r%s_pr,gsel,tzdia0%s_pr )
599 tpdia%s_prsn = unpack( tzdia_r%s_prsn,gsel,tzdia0%s_prsn )
600 tpdia%o_pr = unpack( tzdia_r%o_pr,gsel,tzdia0%o_pr )
601 tpdia%o_prsn = unpack( tzdia_r%o_prsn,gsel,tzdia0%o_prsn )
602 tpdia%subcio = unpack( tzdia_r%subcio,gsel,tzdia0%subcio )
603 tpdia%snicio = unpack( tzdia_r%snicio,gsel,tzdia0%snicio )
604 tpdia%hsicio = unpack( tzdia_r%hsicio,gsel,tzdia0%hsicio )
605 tpdia%lmlcio = unpack( tzdia_r%lmlcio,gsel,tzdia0%lmlcio )
606 tpdia%salcio = unpack( tzdia_r%salcio,gsel,tzdia0%salcio )
607 tpdia%l_pr = unpack( tzdia_r%l_pr,gsel,tzdia0%l_pr )
608 tpdia%l_prsn = unpack( tzdia_r%l_prsn,gsel,tzdia0%l_prsn )
609 tpdia%sul = unpack( tzdia_r%sul,gsel,tzdia0%sul )
620 tztfl0(:,:)%llo = tptfl(:,:)%llo + tpblkw(:,:)%swa
621 tptfl%llo = unpack( tztfl_r%llo,gsel,tztfl0%llo )
624 IF ( nsnwrad==1 )
THEN
625 zsnflx(:,:) = -xmhofusn0*tpatm(:,:)%sop
629 tztfl0(:,:)%tlo = tptfl(:,:)%tlo + &
630 tpmxl(:,:)%qml + tpblkw(:,:)%nsf + zsnflx(:,:)
631 tptfl%tlo = unpack( tztfl_r%tlo,gsel,tztfl0%tlo )
634 tztfl0(:,:)%wlo = tptfl(:,:)%wlo + &
635 tpatm(:,:)%lip + tpatm(:,:)%sop + tpblkw(:,:)%eva
636 tptfl%wlo = unpack( tztfl_r%wlo,gsel,tztfl0%wlo )
640 tptfl%lio = unpack( tztfl_r%lio,gsel,tztfl0%lio )
644 tptfl%tio = unpack( tztfl_r%tio,gsel,tztfl0%tio )
648 tptfl%sio = unpack( tztfl_r%sio,gsel,tztfl0%sio )
652 tptfl%cio = unpack( tztfl_r%cio,gsel,tztfl0%cio )
656 tptfl%wio = unpack( tztfl_r%wio,gsel,tztfl0%wio )
660 tptfl%xio = unpack( tztfl_r%xio,gsel,tztfl0%xio )
664 tptfl%yio = unpack( tztfl_r%yio,gsel,tztfl0%yio )
668 tzsit0(:,:,:)%esi = .false.
669 tzsit0(:,:,:)%asn = albw
670 tzsit0(:,:,:)%fsi = 0.
671 tzsit0(:,:,:)%hsi = 0.
672 tzsit0(:,:,:)%hsn = 0.
673 tzsit0(:,:,:)%rsn = rhosnwmin
674 tzsit0(:,:,:)%tsf = spread( tpmxl(:,:)%mlf,1,nt )
675 tzsit0(:,:,:)%ssi = 0.
676 tzsit0(:,:,:)%age = 0.
677 tzsit0(:,:,:)%vmp = 0.
680 tpsit(jk,:,:)%esi = unpack( tzsit_r(jk,:)%esi,gsel,tzsit0(jk,:,:)%esi )
681 tpsit(jk,:,:)%asn = unpack( tzsit_r(jk,:)%asn,gsel,tzsit0(jk,:,:)%asn )
682 tpsit(jk,:,:)%fsi = unpack( tzsit_r(jk,:)%fsi,gsel,tzsit0(jk,:,:)%fsi )
683 tpsit(jk,:,:)%hsi = unpack( tzsit_r(jk,:)%hsi,gsel,tzsit0(jk,:,:)%hsi )
684 tpsit(jk,:,:)%hsn = unpack( tzsit_r(jk,:)%hsn,gsel,tzsit0(jk,:,:)%hsn )
685 tpsit(jk,:,:)%rsn = unpack( tzsit_r(jk,:)%rsn,gsel,tzsit0(jk,:,:)%rsn )
686 tpsit(jk,:,:)%tsf = unpack( tzsit_r(jk,:)%tsf,gsel,tzsit0(jk,:,:)%tsf )
687 tpsit(jk,:,:)%ssi = unpack( tzsit_r(jk,:)%ssi,gsel,tzsit0(jk,:,:)%ssi )
688 tpsit(jk,:,:)%age = unpack( tzsit_r(jk,:)%age,gsel,tzsit0(jk,:,:)%age )
689 tpsit(jk,:,:)%vmp = unpack( tzsit_r(jk,:)%vmp,gsel,tzsit0(jk,:,:)%vmp )
694 tzsil0(:,:,:,:)%ent = 0.
698 tpsil(jl,jk,:,:)%ent = unpack( tzsil_r(jl,jk,:)%ent,gsel, &
699 tzsil0(jl,jk,:,:)%ent )
715 DEALLOCATE( tzsil_r )
716 DEALLOCATE( tzsit_r )
717 DEALLOCATE( tztfl_r )
718 DEALLOCATE( tzdia_r )
719 DEALLOCATE( tzbud_r )
720 DEALLOCATE( tzblki_r )
721 DEALLOCATE( tzblkw_r )
722 DEALLOCATE( tzatm_r )
723 DEALLOCATE( tzmxl_r )
724 DEALLOCATE( zustar_r )
725 DEALLOCATE( tzdom_r )
733 1000
FORMAT(
" Processor ", i5,
" ==> Running on ", i5, &
734 " points instead of ", i6,
"(" i5,
" times " , i5,
")" )
738 WRITE(noutlu,*)
' *** LEVEL 3 - END SUBROUTINE THERMO'
subroutine glt_constrain_r(tpdom, tpmxl, tpsit, tpsil, tpdia, tpsit_d)
subroutine glt_thermo(tpdom, pustar, tpmxl, tpatm, tpblkw, tpblki, tpbud, tpdia, tptfl, tpsit, tpsil, tpsit_d)
subroutine glt_thermo_r(tpdom, pustar, tpmxl, tpatm, tpblkw, tpblki, tpbud, tpdia, tptfl, tpsit, tpsil)