- Timestamp:
- 2017-07-15T17:27:14+02:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2017/dev_r8183_ICEMODEL/NEMOGCM/NEMO/LIM_SRC_3/limthd.F90
r8341 r8342 83 83 ! 84 84 INTEGER :: ji, jj, jk, jl ! dummy loop indices 85 INTEGER :: nidx ! nb of icy pts for vertical thermo calculations86 85 REAL(wp) :: zfric_u, zqld, zqfr, zqfr_neg 87 86 REAL(wp) :: zvi_b, zsmv_b, zei_b, zfs_b, zfw_b, zft_b … … 242 241 dh_snowice(:) = 0._wp ; dh_i_sub (:) = 0._wp 243 242 244 CALL lim_thd_1d2d( nidx,jl, 1 ) ! --- Move to 1D arrays --- !243 CALL lim_thd_1d2d( jl, 1 ) ! --- Move to 1D arrays --- ! 245 244 ! 246 245 DO jk = 1, nlay_i ! --- Change units from J/m2 to J/m3 --- ! … … 251 250 ENDDO 252 251 ! 253 IF( ln_limdH ) CALL lim_thd_dif ( 1, nidx )! --- Ice/Snow Temperature profile --- !254 ! 255 IF( ln_limdH ) CALL lim_thd_dh ( 1, nidx )! --- Ice/Snow thickness --- !256 ! 257 IF( ln_limdH ) CALL lim_thd_ent( 1, nidx,e_i_1d(1:nidx,:) ) ! --- Ice enthalpy remapping --- !258 ! 259 CALL lim_thd_sal ( 1, nidx )! --- Ice salinity --- !260 ! 261 CALL lim_thd_temp ( 1, nidx )! --- temperature update --- !252 IF( ln_limdH ) CALL lim_thd_dif ! --- Ice/Snow Temperature profile --- ! 253 ! 254 IF( ln_limdH ) CALL lim_thd_dh ! --- Ice/Snow thickness --- ! 255 ! 256 IF( ln_limdH ) CALL lim_thd_ent( e_i_1d(1:nidx,:) ) ! --- Ice enthalpy remapping --- ! 257 ! 258 CALL lim_thd_sal ! --- Ice salinity --- ! 259 ! 260 CALL lim_thd_temp ! --- temperature update --- ! 262 261 ! 263 262 IF( ln_limdH ) THEN 264 263 IF ( ( nn_monocat == 1 .OR. nn_monocat == 4 ) .AND. jpl == 1 ) THEN 265 CALL lim_thd_lam ( 1, nidx )! --- extra lateral melting if monocat --- !264 CALL lim_thd_lam ! --- extra lateral melting if monocat --- ! 266 265 END IF 267 266 END IF … … 274 273 ENDDO 275 274 ! 276 CALL lim_thd_1d2d( nidx,jl, 2 ) ! --- Move to 2D arrays --- !275 CALL lim_thd_1d2d( jl, 2 ) ! --- Move to 2D arrays --- ! 277 276 ! 278 277 IF( lk_mpp ) CALL mpp_comm_free( ncomm_ice ) !RB necessary ?? … … 344 343 345 344 346 SUBROUTINE lim_thd_temp ( kideb, kiut )345 SUBROUTINE lim_thd_temp 347 346 !!----------------------------------------------------------------------- 348 347 !! *** ROUTINE lim_thd_temp *** … … 352 351 !! ** Method : Formula (Bitz and Lipscomb, 1999) 353 352 !!------------------------------------------------------------------- 354 INTEGER, INTENT(in) :: kideb, kiut ! bounds for the spatial loop355 !356 353 INTEGER :: ji, jk ! dummy loop indices 357 354 REAL(wp) :: ztmelts, zaaa, zbbb, zccc, zdiscrim ! local scalar … … 359 356 ! Recover ice temperature 360 357 DO jk = 1, nlay_i 361 DO ji = kideb, kiut358 DO ji = 1, nidx 362 359 ztmelts = -tmut * s_i_1d(ji,jk) + rt0 363 360 ! Conversion q(S,T) -> T (second order equation) … … 377 374 378 375 379 SUBROUTINE lim_thd_lam ( kideb, kiut )376 SUBROUTINE lim_thd_lam 380 377 !!----------------------------------------------------------------------- 381 378 !! *** ROUTINE lim_thd_lam *** … … 384 381 !! ( dA = A/2h dh ) 385 382 !!----------------------------------------------------------------------- 386 INTEGER, INTENT(in) :: kideb, kiut ! bounds for the spatial loop387 !388 383 INTEGER :: ji ! dummy loop indices 389 384 REAL(wp) :: zhi_bef ! ice thickness before thermo … … 392 387 !!----------------------------------------------------------------------- 393 388 ! 394 DO ji = kideb, kiut389 DO ji = 1, nidx 395 390 zdh_mel = MIN( 0._wp, dh_i_surf(ji) + dh_i_bott(ji) + dh_snowice(ji) + dh_i_sub(ji) ) 396 391 IF( zdh_mel < 0._wp .AND. a_i_1d(ji) > 0._wp ) THEN … … 413 408 414 409 415 SUBROUTINE lim_thd_1d2d( nidx,jl, kn )410 SUBROUTINE lim_thd_1d2d( jl, kn ) 416 411 !!----------------------------------------------------------------------- 417 412 !! *** ROUTINE lim_thd_1d2d *** … … 419 414 !! ** Purpose : move arrays from 1d to 2d and the reverse 420 415 !!----------------------------------------------------------------------- 416 INTEGER, INTENT(in) :: jl ! ice cat 421 417 INTEGER, INTENT(in) :: kn ! 1= from 2D to 1D ; 2= from 1D to 2D 422 INTEGER, INTENT(in) :: nidx ! size of 1D arrays423 INTEGER, INTENT(in) :: jl ! ice cat424 418 ! 425 419 INTEGER :: jk ! dummy loop indices … … 430 424 CASE( 1 ) ! from 2D to 1D 431 425 ! 432 CALL tab_2d_1d( nidx, at_i_1d (1:nidx), at_i , jpi, jpj, idxice(1:nidx) ) 433 CALL tab_2d_1d( nidx, a_i_1d (1:nidx), a_i(:,:,jl) , jpi, jpj, idxice(1:nidx) ) 434 CALL tab_2d_1d( nidx, ht_i_1d (1:nidx), ht_i(:,:,jl) , jpi, jpj, idxice(1:nidx) ) 435 CALL tab_2d_1d( nidx, ht_s_1d (1:nidx), ht_s(:,:,jl) , jpi, jpj, idxice(1:nidx) ) 436 ! 437 CALL tab_2d_1d( nidx, t_su_1d (1:nidx), t_su(:,:,jl) , jpi, jpj, idxice(1:nidx) ) 438 CALL tab_2d_1d( nidx, sm_i_1d (1:nidx), sm_i(:,:,jl) , jpi, jpj, idxice(1:nidx) ) 426 CALL tab_2d_1d( nidx, idxice(1:nidx), at_i_1d(1:nidx), at_i ) 427 CALL tab_2d_1d( nidx, idxice(1:nidx), a_i_1d (1:nidx), a_i(:,:,jl) ) 428 CALL tab_2d_1d( nidx, idxice(1:nidx), ht_i_1d(1:nidx), ht_i(:,:,jl) ) 429 CALL tab_2d_1d( nidx, idxice(1:nidx), ht_s_1d(1:nidx), ht_s(:,:,jl) ) 430 CALL tab_2d_1d( nidx, idxice(1:nidx), t_su_1d(1:nidx), t_su(:,:,jl) ) 431 CALL tab_2d_1d( nidx, idxice(1:nidx), sm_i_1d(1:nidx), sm_i(:,:,jl) ) 439 432 DO jk = 1, nlay_s 440 CALL tab_2d_1d( nidx, t_s_1d(1:nidx,jk), t_s(:,:,jk,jl) , jpi, jpj, idxice(1:nidx))441 CALL tab_2d_1d( nidx, e_s_1d(1:nidx,jk), e_s(:,:,jk,jl) , jpi, jpj, idxice(1:nidx))433 CALL tab_2d_1d( nidx, idxice(1:nidx), t_s_1d(1:nidx,jk), t_s(:,:,jk,jl) ) 434 CALL tab_2d_1d( nidx, idxice(1:nidx), e_s_1d(1:nidx,jk), e_s(:,:,jk,jl) ) 442 435 END DO 443 436 DO jk = 1, nlay_i 444 CALL tab_2d_1d( nidx, t_i_1d(1:nidx,jk), t_i(:,:,jk,jl) , jpi, jpj, idxice(1:nidx))445 CALL tab_2d_1d( nidx, e_i_1d(1:nidx,jk), e_i(:,:,jk,jl) , jpi, jpj, idxice(1:nidx))446 CALL tab_2d_1d( nidx, s_i_1d(1:nidx,jk), s_i(:,:,jk,jl) , jpi, jpj, idxice(1:nidx))447 END DO 448 ! 449 CALL tab_2d_1d( nidx, qprec_ice_1d(1:nidx), qprec_ice(:,:) , jpi, jpj, idxice(1:nidx))450 CALL tab_2d_1d( nidx, qevap_ice_1d(1:nidx), qevap_ice(:,:,jl) , jpi, jpj, idxice(1:nidx))451 CALL tab_2d_1d( nidx, qsr_ice_1d (1:nidx), qsr_ice(:,:,jl) , jpi, jpj, idxice(1:nidx))452 CALL tab_2d_1d( nidx, fr1_i0_1d (1:nidx), fr1_i0 , jpi, jpj, idxice(1:nidx))453 CALL tab_2d_1d( nidx, fr2_i0_1d (1:nidx), fr2_i0 , jpi, jpj, idxice(1:nidx))454 CALL tab_2d_1d( nidx, qns_ice_1d (1:nidx), qns_ice(:,:,jl) , jpi, jpj, idxice(1:nidx))455 CALL tab_2d_1d( nidx, ftr_ice_1d (1:nidx), ftr_ice(:,:,jl) , jpi, jpj, idxice(1:nidx))456 CALL tab_2d_1d( nidx, evap_ice_1d (1:nidx), evap_ice(:,:,jl), jpi, jpj, idxice(1:nidx) )457 CALL tab_2d_1d( nidx, dqns_ice_1d(1:nidx), dqns_ice(:,:,jl), jpi, jpj, idxice(1:nidx) )458 CALL tab_2d_1d( nidx, t_bo_1d (1:nidx), t_bo , jpi, jpj, idxice(1:nidx))459 CALL tab_2d_1d( nidx, sprecip_1d (1:nidx), sprecip , jpi, jpj, idxice(1:nidx))460 CALL tab_2d_1d( nidx, fhtur_1d (1:nidx), fhtur , jpi, jpj, idxice(1:nidx))461 CALL tab_2d_1d( nidx, fhld_1d (1:nidx), fhld , jpi, jpj, idxice(1:nidx))462 ! 463 CALL tab_2d_1d( nidx, wfx_snw_sni_1d(1:nidx), wfx_snw_sni , jpi, jpj, idxice(1:nidx))464 CALL tab_2d_1d( nidx, wfx_snw_sum_1d(1:nidx), wfx_snw_sum , jpi, jpj, idxice(1:nidx))465 CALL tab_2d_1d( nidx, wfx_sub_1d (1:nidx), wfx_sub , jpi, jpj, idxice(1:nidx))466 CALL tab_2d_1d( nidx, wfx_snw_sub_1d(1:nidx), wfx_snw_sub , jpi, jpj, idxice(1:nidx))467 CALL tab_2d_1d( nidx, wfx_ice_sub_1d(1:nidx), wfx_ice_sub , jpi, jpj, idxice(1:nidx))468 CALL tab_2d_1d( nidx, wfx_err_sub_1d(1:nidx), wfx_err_sub , jpi, jpj, idxice(1:nidx))469 ! 470 CALL tab_2d_1d( nidx, wfx_bog_1d (1:nidx), wfx_bog , jpi, jpj, idxice(1:nidx))471 CALL tab_2d_1d( nidx, wfx_bom_1d (1:nidx), wfx_bom , jpi, jpj, idxice(1:nidx))472 CALL tab_2d_1d( nidx, wfx_sum_1d (1:nidx), wfx_sum , jpi, jpj, idxice(1:nidx))473 CALL tab_2d_1d( nidx, wfx_sni_1d (1:nidx), wfx_sni , jpi, jpj, idxice(1:nidx))474 CALL tab_2d_1d( nidx, wfx_res_1d (1:nidx), wfx_res , jpi, jpj, idxice(1:nidx))475 CALL tab_2d_1d( nidx, wfx_spr_1d (1:nidx), wfx_spr , jpi, jpj, idxice(1:nidx))476 ! 477 CALL tab_2d_1d( nidx, sfx_bog_1d (1:nidx), sfx_bog , jpi, jpj, idxice(1:nidx))478 CALL tab_2d_1d( nidx, sfx_bom_1d (1:nidx), sfx_bom , jpi, jpj, idxice(1:nidx))479 CALL tab_2d_1d( nidx, sfx_sum_1d (1:nidx), sfx_sum , jpi, jpj, idxice(1:nidx))480 CALL tab_2d_1d( nidx, sfx_sni_1d (1:nidx), sfx_sni , jpi, jpj, idxice(1:nidx))481 CALL tab_2d_1d( nidx, sfx_bri_1d (1:nidx), sfx_bri , jpi, jpj, idxice(1:nidx))482 CALL tab_2d_1d( nidx, sfx_res_1d (1:nidx), sfx_res , jpi, jpj, idxice(1:nidx))483 CALL tab_2d_1d( nidx, sfx_sub_1d (1:nidx), sfx_sub , jpi, jpj,idxice(1:nidx))484 ! 485 CALL tab_2d_1d( nidx, hfx_thd_1d (1:nidx), hfx_thd , jpi, jpj, idxice(1:nidx))486 CALL tab_2d_1d( nidx, hfx_spr_1d (1:nidx), hfx_spr , jpi, jpj, idxice(1:nidx))487 CALL tab_2d_1d( nidx, hfx_sum_1d (1:nidx), hfx_sum , jpi, jpj, idxice(1:nidx))488 CALL tab_2d_1d( nidx, hfx_bom_1d (1:nidx), hfx_bom , jpi, jpj, idxice(1:nidx))489 CALL tab_2d_1d( nidx, hfx_bog_1d (1:nidx), hfx_bog , jpi, jpj, idxice(1:nidx))490 CALL tab_2d_1d( nidx, hfx_dif_1d (1:nidx), hfx_dif , jpi, jpj, idxice(1:nidx))491 CALL tab_2d_1d( nidx, hfx_opw_1d (1:nidx), hfx_opw , jpi, jpj, idxice(1:nidx))492 CALL tab_2d_1d( nidx, hfx_snw_1d (1:nidx), hfx_snw , jpi, jpj, idxice(1:nidx))493 CALL tab_2d_1d( nidx, hfx_sub_1d (1:nidx), hfx_sub , jpi, jpj, idxice(1:nidx))494 CALL tab_2d_1d( nidx, hfx_err_1d (1:nidx), hfx_err , jpi, jpj, idxice(1:nidx))495 CALL tab_2d_1d( nidx, hfx_res_1d (1:nidx), hfx_res , jpi, jpj, idxice(1:nidx))496 CALL tab_2d_1d( nidx, hfx_err_dif_1d (1:nidx), hfx_err_dif , jpi, jpj, idxice(1:nidx))497 CALL tab_2d_1d( nidx, hfx_err_rem_1d (1:nidx), hfx_err_rem , jpi, jpj, idxice(1:nidx))498 CALL tab_2d_1d( nidx, hfx_out_1d (1:nidx), hfx_out , jpi, jpj, idxice(1:nidx))437 CALL tab_2d_1d( nidx, idxice(1:nidx), t_i_1d(1:nidx,jk), t_i(:,:,jk,jl) ) 438 CALL tab_2d_1d( nidx, idxice(1:nidx), e_i_1d(1:nidx,jk), e_i(:,:,jk,jl) ) 439 CALL tab_2d_1d( nidx, idxice(1:nidx), s_i_1d(1:nidx,jk), s_i(:,:,jk,jl) ) 440 END DO 441 ! 442 CALL tab_2d_1d( nidx, idxice(1:nidx), qprec_ice_1d(1:nidx), qprec_ice ) 443 CALL tab_2d_1d( nidx, idxice(1:nidx), qevap_ice_1d(1:nidx), qevap_ice(:,:,jl) ) 444 CALL tab_2d_1d( nidx, idxice(1:nidx), qsr_ice_1d (1:nidx), qsr_ice(:,:,jl) ) 445 CALL tab_2d_1d( nidx, idxice(1:nidx), fr1_i0_1d (1:nidx), fr1_i0 ) 446 CALL tab_2d_1d( nidx, idxice(1:nidx), fr2_i0_1d (1:nidx), fr2_i0 ) 447 CALL tab_2d_1d( nidx, idxice(1:nidx), qns_ice_1d (1:nidx), qns_ice(:,:,jl) ) 448 CALL tab_2d_1d( nidx, idxice(1:nidx), ftr_ice_1d (1:nidx), ftr_ice(:,:,jl) ) 449 CALL tab_2d_1d( nidx, idxice(1:nidx), evap_ice_1d (1:nidx), evap_ice(:,:,jl) ) 450 CALL tab_2d_1d( nidx, idxice(1:nidx), dqns_ice_1d (1:nidx), dqns_ice(:,:,jl) ) 451 CALL tab_2d_1d( nidx, idxice(1:nidx), t_bo_1d (1:nidx), t_bo ) 452 CALL tab_2d_1d( nidx, idxice(1:nidx), sprecip_1d (1:nidx), sprecip ) 453 CALL tab_2d_1d( nidx, idxice(1:nidx), fhtur_1d (1:nidx), fhtur ) 454 CALL tab_2d_1d( nidx, idxice(1:nidx), fhld_1d (1:nidx), fhld ) 455 ! 456 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_snw_sni_1d(1:nidx), wfx_snw_sni ) 457 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_snw_sum_1d(1:nidx), wfx_snw_sum ) 458 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_sub_1d (1:nidx), wfx_sub ) 459 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_snw_sub_1d(1:nidx), wfx_snw_sub ) 460 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_ice_sub_1d(1:nidx), wfx_ice_sub ) 461 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_err_sub_1d(1:nidx), wfx_err_sub ) 462 ! 463 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_bog_1d (1:nidx), wfx_bog ) 464 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_bom_1d (1:nidx), wfx_bom ) 465 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_sum_1d (1:nidx), wfx_sum ) 466 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_sni_1d (1:nidx), wfx_sni ) 467 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_res_1d (1:nidx), wfx_res ) 468 CALL tab_2d_1d( nidx, idxice(1:nidx), wfx_spr_1d (1:nidx), wfx_spr ) 469 ! 470 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_bog_1d (1:nidx), sfx_bog ) 471 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_bom_1d (1:nidx), sfx_bom ) 472 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_sum_1d (1:nidx), sfx_sum ) 473 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_sni_1d (1:nidx), sfx_sni ) 474 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_bri_1d (1:nidx), sfx_bri ) 475 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_res_1d (1:nidx), sfx_res ) 476 CALL tab_2d_1d( nidx, idxice(1:nidx), sfx_sub_1d (1:nidx), sfx_sub ) 477 ! 478 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_thd_1d (1:nidx), hfx_thd ) 479 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_spr_1d (1:nidx), hfx_spr ) 480 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_sum_1d (1:nidx), hfx_sum ) 481 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_bom_1d (1:nidx), hfx_bom ) 482 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_bog_1d (1:nidx), hfx_bog ) 483 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_dif_1d (1:nidx), hfx_dif ) 484 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_opw_1d (1:nidx), hfx_opw ) 485 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_snw_1d (1:nidx), hfx_snw ) 486 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_sub_1d (1:nidx), hfx_sub ) 487 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_err_1d (1:nidx), hfx_err ) 488 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_res_1d (1:nidx), hfx_res ) 489 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_err_dif_1d(1:nidx), hfx_err_dif ) 490 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_err_rem_1d(1:nidx), hfx_err_rem ) 491 CALL tab_2d_1d( nidx, idxice(1:nidx), hfx_out_1d (1:nidx), hfx_out ) 499 492 ! 500 493 ! SIMIP diagnostics 501 CALL tab_2d_1d( nidx, diag_fc_bo_1d (1:nidx), diag_fc_bo , jpi, jpj, idxice(1:nidx))502 CALL tab_2d_1d( nidx, diag_fc_su_1d (1:nidx), diag_fc_su , jpi, jpj, idxice(1:nidx))494 CALL tab_2d_1d( nidx, idxice(1:nidx), diag_fc_bo_1d(1:nidx), diag_fc_bo ) 495 CALL tab_2d_1d( nidx, idxice(1:nidx), diag_fc_su_1d(1:nidx), diag_fc_su ) 503 496 ! ocean surface fields 504 CALL tab_2d_1d( nidx, sst_1d(1:nidx), sst_m, jpi, jpj, idxice(1:nidx))505 CALL tab_2d_1d( nidx, sss_1d(1:nidx), sss_m, jpi, jpj, idxice(1:nidx))497 CALL tab_2d_1d( nidx, idxice(1:nidx), sst_1d(1:nidx), sst_m ) 498 CALL tab_2d_1d( nidx, idxice(1:nidx), sss_1d(1:nidx), sss_m ) 506 499 ! 507 500 CASE( 2 ) ! from 1D to 2D 508 501 ! 509 CALL tab_1d_2d( nidx, at_i , idxice, at_i_1d (1:nidx) , jpi, jpj)510 CALL tab_1d_2d( nidx, ht_i(:,:,jl) , idxice, ht_i_1d (1:nidx) , jpi, jpj)511 CALL tab_1d_2d( nidx, ht_s(:,:,jl) , idxice, ht_s_1d (1:nidx) , jpi, jpj)512 CALL tab_1d_2d( nidx, a_i (:,:,jl) , idxice, a_i_1d (1:nidx) , jpi, jpj)513 CALL tab_1d_2d( nidx, t_su(:,:,jl) , idxice, t_su_1d (1:nidx) , jpi, jpj)514 CALL tab_1d_2d( nidx, sm_i(:,:,jl) , idxice, sm_i_1d (1:nidx) , jpi, jpj)502 CALL tab_1d_2d( nidx, idxice(1:nidx), at_i_1d(1:nidx), at_i ) 503 CALL tab_1d_2d( nidx, idxice(1:nidx), a_i_1d (1:nidx), a_i(:,:,jl) ) 504 CALL tab_1d_2d( nidx, idxice(1:nidx), ht_i_1d(1:nidx), ht_i(:,:,jl) ) 505 CALL tab_1d_2d( nidx, idxice(1:nidx), ht_s_1d(1:nidx), ht_s(:,:,jl) ) 506 CALL tab_1d_2d( nidx, idxice(1:nidx), t_su_1d(1:nidx), t_su(:,:,jl) ) 507 CALL tab_1d_2d( nidx, idxice(1:nidx), sm_i_1d(1:nidx), sm_i(:,:,jl) ) 515 508 DO jk = 1, nlay_s 516 CALL tab_1d_2d( nidx, t_s(:,:,jk,jl), idxice, t_s_1d (1:nidx,jk), jpi, jpj)517 CALL tab_1d_2d( nidx, e_s(:,:,jk,jl), idxice, e_s_1d (1:nidx,jk), jpi, jpj)509 CALL tab_1d_2d( nidx, idxice(1:nidx), t_s_1d(1:nidx,jk), t_s(:,:,jk,jl) ) 510 CALL tab_1d_2d( nidx, idxice(1:nidx), e_s_1d(1:nidx,jk), e_s(:,:,jk,jl) ) 518 511 END DO 519 512 DO jk = 1, nlay_i 520 CALL tab_1d_2d( nidx, t_i(:,:,jk,jl), idxice, t_i_1d (1:nidx,jk), jpi, jpj) 521 CALL tab_1d_2d( nidx, e_i(:,:,jk,jl), idxice, e_i_1d (1:nidx,jk), jpi, jpj) 522 CALL tab_1d_2d( nidx, s_i(:,:,jk,jl), idxice, s_i_1d (1:nidx,jk), jpi, jpj) 523 END DO 524 ! 525 CALL tab_1d_2d( nidx, wfx_snw_sni , idxice, wfx_snw_sni_1d(1:nidx), jpi, jpj ) 526 CALL tab_1d_2d( nidx, wfx_snw_sum , idxice, wfx_snw_sum_1d(1:nidx),jpi, jpj ) 527 CALL tab_1d_2d( nidx, wfx_sub , idxice, wfx_sub_1d(1:nidx) , jpi, jpj ) 528 CALL tab_1d_2d( nidx, wfx_snw_sub , idxice, wfx_snw_sub_1d(1:nidx), jpi, jpj ) 529 CALL tab_1d_2d( nidx, wfx_ice_sub , idxice, wfx_ice_sub_1d(1:nidx), jpi, jpj ) 530 CALL tab_1d_2d( nidx, wfx_err_sub , idxice, wfx_err_sub_1d(1:nidx), jpi, jpj ) 531 ! 532 CALL tab_1d_2d( nidx, wfx_bog , idxice, wfx_bog_1d(1:nidx) , jpi, jpj ) 533 CALL tab_1d_2d( nidx, wfx_bom , idxice, wfx_bom_1d(1:nidx) , jpi, jpj ) 534 CALL tab_1d_2d( nidx, wfx_sum , idxice, wfx_sum_1d(1:nidx) , jpi, jpj ) 535 CALL tab_1d_2d( nidx, wfx_sni , idxice, wfx_sni_1d(1:nidx) , jpi, jpj ) 536 CALL tab_1d_2d( nidx, wfx_res , idxice, wfx_res_1d(1:nidx) , jpi, jpj ) 537 CALL tab_1d_2d( nidx, wfx_spr , idxice, wfx_spr_1d(1:nidx) , jpi, jpj ) 538 ! 539 CALL tab_1d_2d( nidx, sfx_bog , idxice, sfx_bog_1d(1:nidx) , jpi, jpj ) 540 CALL tab_1d_2d( nidx, sfx_bom , idxice, sfx_bom_1d(1:nidx) , jpi, jpj ) 541 CALL tab_1d_2d( nidx, sfx_sum , idxice, sfx_sum_1d(1:nidx) , jpi, jpj ) 542 CALL tab_1d_2d( nidx, sfx_sni , idxice, sfx_sni_1d(1:nidx) , jpi, jpj ) 543 CALL tab_1d_2d( nidx, sfx_res , idxice, sfx_res_1d(1:nidx) , jpi, jpj ) 544 CALL tab_1d_2d( nidx, sfx_bri , idxice, sfx_bri_1d(1:nidx) , jpi, jpj ) 545 CALL tab_1d_2d( nidx, sfx_sub , idxice, sfx_sub_1d(1:nidx) , jpi, jpj ) 546 ! 547 CALL tab_1d_2d( nidx, hfx_thd , idxice, hfx_thd_1d(1:nidx) , jpi, jpj ) 548 CALL tab_1d_2d( nidx, hfx_spr , idxice, hfx_spr_1d(1:nidx) , jpi, jpj ) 549 CALL tab_1d_2d( nidx, hfx_sum , idxice, hfx_sum_1d(1:nidx) , jpi, jpj ) 550 CALL tab_1d_2d( nidx, hfx_bom , idxice, hfx_bom_1d(1:nidx) , jpi, jpj ) 551 CALL tab_1d_2d( nidx, hfx_bog , idxice, hfx_bog_1d(1:nidx) , jpi, jpj ) 552 CALL tab_1d_2d( nidx, hfx_dif , idxice, hfx_dif_1d(1:nidx) , jpi, jpj ) 553 CALL tab_1d_2d( nidx, hfx_opw , idxice, hfx_opw_1d(1:nidx) , jpi, jpj ) 554 CALL tab_1d_2d( nidx, hfx_snw , idxice, hfx_snw_1d(1:nidx) , jpi, jpj ) 555 CALL tab_1d_2d( nidx, hfx_sub , idxice, hfx_sub_1d(1:nidx) , jpi, jpj ) 556 CALL tab_1d_2d( nidx, hfx_err , idxice, hfx_err_1d(1:nidx) , jpi, jpj ) 557 CALL tab_1d_2d( nidx, hfx_res , idxice, hfx_res_1d(1:nidx) , jpi, jpj ) 558 CALL tab_1d_2d( nidx, hfx_err_rem , idxice, hfx_err_rem_1d(1:nidx), jpi, jpj ) 559 CALL tab_1d_2d( nidx, hfx_err_dif , idxice, hfx_err_dif_1d(1:nidx), jpi, jpj ) 560 CALL tab_1d_2d( nidx, hfx_out , idxice, hfx_out_1d(1:nidx) , jpi, jpj ) 561 ! 562 CALL tab_1d_2d( nidx, qns_ice(:,:,jl), idxice, qns_ice_1d(1:nidx) , jpi, jpj) 563 CALL tab_1d_2d( nidx, ftr_ice(:,:,jl), idxice, ftr_ice_1d(1:nidx) , jpi, jpj ) 513 CALL tab_1d_2d( nidx, idxice(1:nidx), t_i_1d(1:nidx,jk), t_i(:,:,jk,jl) ) 514 CALL tab_1d_2d( nidx, idxice(1:nidx), e_i_1d(1:nidx,jk), e_i(:,:,jk,jl) ) 515 CALL tab_1d_2d( nidx, idxice(1:nidx), s_i_1d(1:nidx,jk), s_i(:,:,jk,jl) ) 516 END DO 517 ! 518 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_snw_sni_1d(1:nidx), wfx_snw_sni ) 519 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_snw_sum_1d(1:nidx), wfx_snw_sum ) 520 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_sub_1d (1:nidx), wfx_sub ) 521 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_snw_sub_1d(1:nidx), wfx_snw_sub ) 522 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_ice_sub_1d(1:nidx), wfx_ice_sub ) 523 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_err_sub_1d(1:nidx), wfx_err_sub ) 524 ! 525 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_bog_1d (1:nidx), wfx_bog ) 526 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_bom_1d (1:nidx), wfx_bom ) 527 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_sum_1d (1:nidx), wfx_sum ) 528 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_sni_1d (1:nidx), wfx_sni ) 529 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_res_1d (1:nidx), wfx_res ) 530 CALL tab_1d_2d( nidx, idxice(1:nidx), wfx_spr_1d (1:nidx), wfx_spr ) 531 ! 532 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_bog_1d (1:nidx), sfx_bog ) 533 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_bom_1d (1:nidx), sfx_bom ) 534 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_sum_1d (1:nidx), sfx_sum ) 535 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_sni_1d (1:nidx), sfx_sni ) 536 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_bri_1d (1:nidx), sfx_bri ) 537 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_res_1d (1:nidx), sfx_res ) 538 CALL tab_1d_2d( nidx, idxice(1:nidx), sfx_sub_1d (1:nidx), sfx_sub ) 539 540 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_thd_1d (1:nidx), hfx_thd ) 541 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_spr_1d (1:nidx), hfx_spr ) 542 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_sum_1d (1:nidx), hfx_sum ) 543 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_bom_1d (1:nidx), hfx_bom ) 544 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_bog_1d (1:nidx), hfx_bog ) 545 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_dif_1d (1:nidx), hfx_dif ) 546 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_opw_1d (1:nidx), hfx_opw ) 547 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_snw_1d (1:nidx), hfx_snw ) 548 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_sub_1d (1:nidx), hfx_sub ) 549 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_err_1d (1:nidx), hfx_err ) 550 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_res_1d (1:nidx), hfx_res ) 551 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_err_dif_1d(1:nidx), hfx_err_dif ) 552 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_err_rem_1d(1:nidx), hfx_err_rem ) 553 CALL tab_1d_2d( nidx, idxice(1:nidx), hfx_out_1d (1:nidx), hfx_out ) 554 555 CALL tab_1d_2d( nidx, idxice(1:nidx), qns_ice_1d (1:nidx), qns_ice(:,:,jl) ) 556 CALL tab_1d_2d( nidx, idxice(1:nidx), ftr_ice_1d (1:nidx), ftr_ice(:,:,jl) ) 557 ! 564 558 ! 565 559 ! SIMIP diagnostics 566 CALL tab_1d_2d( nidx, t_si(:,:,jl) , idxice, t_si_1d (1:nidx) , jpi, jpj)567 CALL tab_1d_2d( nidx, diag_fc_bo , idxice, diag_fc_bo_1d(1:nidx) , jpi, jpj)568 CALL tab_1d_2d( nidx, diag_fc_su , idxice, diag_fc_su_1d(1:nidx) , jpi, jpj)560 CALL tab_1d_2d( nidx, idxice(1:nidx), t_si_1d (1:nidx), t_si(:,:,jl) ) 561 CALL tab_1d_2d( nidx, idxice(1:nidx), diag_fc_bo_1d(1:nidx), diag_fc_bo ) 562 CALL tab_1d_2d( nidx, idxice(1:nidx), diag_fc_su_1d(1:nidx), diag_fc_su ) 569 563 END SELECT 570 564 !
Note: See TracChangeset
for help on using the changeset viewer.