Ignore:
Timestamp:
Aug 24, 2016 10:22:32 AM (8 years ago)
Author:
suehring
Message:

Humidity and passive scalar also separated in nesting mode

File:
1 edited

Legend:

Unmodified
Added
Removed
  • palm/trunk/SOURCE/pmc_interface_mod.f90

    • Property svn:mergeinfo set to (toggle deleted branches)
      /palm/branches/forwind/SOURCE/pmc_interface_mod.f901564-1913
      /palm/trunk/SOURCE/pmc_interface_mod.f90mergedeligible
      /palm/branches/fricke/SOURCE/pmc_interface_mod.f90942-977
      /palm/branches/hoffmann/SOURCE/pmc_interface_mod.f90989-1052
      /palm/branches/letzel/masked_output/SOURCE/pmc_interface_mod.f90296-409
      /palm/branches/suehring/pmc_interface_mod.f90423-666
    r2001 r2003  
    2121! Current revisions:
    2222! ------------------
    23 !
     23! Humidity and passive scalar also separated in nesting mode
    2424!
    2525! Former revisions:
     
    123123   USE arrays_3d,                                                               &
    124124        ONLY:  dzu, dzw, e, e_p, e_1, e_2, pt, pt_p, pt_1, pt_2, q, q_p, q_1,   &
    125                q_2, u, u_p, u_1, u_2, v, v_p, v_1, v_2, w, w_p, w_1, w_2, zu,   &
    126                zw, z0
     125               q_2, s, s_2, u, u_p, u_1, u_2, v, v_p, v_1, v_2, w, w_p, w_1, w_2,  &
     126               zu, zw, z0
    127127#endif
    128128
     
    243243    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  wc   !:
    244244    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  qc   !:
     245    REAL(wp), SAVE, DIMENSION(:,:,:), ALLOCATABLE, TARGET ::  sc   !:
    245246
    246247!
     
    915916          CALL pmc_set_dataarray_name( 'coarse', 'pt' ,'fine', 'pt', ierr )
    916917       ENDIF
    917        IF ( humidity  .OR.  passive_scalar )  THEN
     918       IF ( humidity )  THEN
    918919          CALL pmc_set_dataarray_name( 'coarse', 'q'  ,'fine', 'q',  ierr )
     920       ENDIF
     921       IF ( passive_scalar )  THEN
     922          CALL pmc_set_dataarray_name( 'coarse', 's'  ,'fine', 's',  ierr )
    919923       ENDIF
    920924
     
    25212525    IF ( TRIM(name) == "pt" )  p_3d => pt
    25222526    IF ( TRIM(name) == "q"  )  p_3d => q
     2527    IF ( TRIM(name) == "s"  )  p_3d => s
    25232528!
    25242529!-- Next line is just an example for a 2D array (not active for coupling!)
     
    25522557    IF ( TRIM(name) == "pt" )  p_3d_sec => pt_2
    25532558    IF ( TRIM(name) == "q"  )  p_3d_sec => q_2
     2559    IF ( TRIM(name) == "s"  )  p_3d_sec => s_2
    25542560
    25552561    IF ( ASSOCIATED( p_3d ) )  THEN
     
    26232629       IF ( .NOT. ALLOCATED( qc ) ) ALLOCATE( qc(0:nzc+1, js:je, is:ie) )
    26242630       p_3d => qc
     2631    ELSEIF ( TRIM( name ) == "s")  THEN
     2632       IF ( .NOT. ALLOCATED( sc ) ) ALLOCATE( sc(0:nzc+1, js:je, is:ie) )
     2633       p_3d => sc
    26252634    !ELSEIF (trim(name) == "z0") then
    26262635       !IF (.not.allocated(z0c))  allocate(z0c(js:je, is:ie))
     
    27222731                                      r1yo, r2yo, r1zo, r2zo, nzb_s_inner, 's' )
    27232732       ENDIF
    2724        IF ( humidity  .OR.  passive_scalar )  THEN
     2733       IF ( humidity )  THEN
    27252734          CALL pmci_interp_tril_all ( q, qc, ico, jco, kco, r1xo, r2xo, r1yo,   &
     2735                                      r2yo, r1zo, r2zo, nzb_s_inner, 's' )
     2736       ENDIF
     2737       IF ( passive_scalar )  THEN
     2738          CALL pmci_interp_tril_all ( s, sc, ico, jco, kco, r1xo, r2xo, r1yo,   &
    27262739                                      r2yo, r1zo, r2zo, nzb_s_inner, 's' )
    27272740       ENDIF
     
    33673380                                          nzt_topo_nestbc_l, 'l', 's' )
    33683381             ENDIF
    3369              IF ( humidity  .OR.  passive_scalar )  THEN
     3382             IF ( humidity )  THEN
    33703383                CALL pmci_interp_tril_lr( q, qc, ico, jco, kco, r1xo, r2xo,     &
     3384                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
     3385                                          logc_u_l, logc_ratio_u_l,             &
     3386                                          nzt_topo_nestbc_l, 'l', 's' )
     3387             ENDIF
     3388             IF ( passive_scalar )  THEN
     3389                CALL pmci_interp_tril_lr( s, sc, ico, jco, kco, r1xo, r2xo,     &
    33713390                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    33723391                                          logc_u_l, logc_ratio_u_l,             &
     
    33823401                   CALL pmci_extrap_ifoutflow_lr( pt,nzb_s_inner, 'l', 's' )
    33833402                ENDIF
    3384                 IF ( humidity  .OR.  passive_scalar )  THEN
     3403                IF ( humidity )  THEN
    33853404                   CALL pmci_extrap_ifoutflow_lr( q, nzb_s_inner, 'l', 's' )
     3405                ENDIF
     3406                IF ( passive_scalar )  THEN
     3407                   CALL pmci_extrap_ifoutflow_lr( s, nzb_s_inner, 'l', 's' )
    33863408                ENDIF
    33873409             ENDIF
     
    34143436                                          nzt_topo_nestbc_r, 'r', 's' )
    34153437             ENDIF
    3416              IF ( humidity  .OR.  passive_scalar )  THEN
     3438             IF ( humidity )  THEN
    34173439                CALL pmci_interp_tril_lr( q, qc, ico, jco, kco, r1xo, r2xo,     &
     3440                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
     3441                                          logc_u_r, logc_ratio_u_r,             &
     3442                                          nzt_topo_nestbc_r, 'r', 's' )
     3443             ENDIF
     3444             IF ( passive_scalar )  THEN
     3445                CALL pmci_interp_tril_lr( s, sc, ico, jco, kco, r1xo, r2xo,     &
    34183446                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    34193447                                          logc_u_r, logc_ratio_u_r,             &
     
    34293457                   CALL pmci_extrap_ifoutflow_lr( pt,nzb_s_inner, 'r', 's' )
    34303458                ENDIF
    3431                 IF ( humidity  .OR.  passive_scalar )  THEN
     3459                IF ( humidity )  THEN
    34323460                   CALL pmci_extrap_ifoutflow_lr( q, nzb_s_inner, 'r', 's' )
     3461                ENDIF
     3462                IF ( passive_scalar )  THEN
     3463                   CALL pmci_extrap_ifoutflow_lr( s, nzb_s_inner, 'r', 's' )
    34333464                ENDIF
    34343465             ENDIF
     
    34613492                                          nzt_topo_nestbc_s, 's', 's' )
    34623493             ENDIF
    3463              IF ( humidity  .OR.  passive_scalar )  THEN
     3494             IF ( humidity )  THEN
    34643495                CALL pmci_interp_tril_sn( q, qc, ico, jco, kco, r1xo, r2xo,     &
     3496                                          r1yo,r2yo, r1zo, r2zo, nzb_s_inner,   &
     3497                                          logc_u_s, logc_ratio_u_s,             &
     3498                                          nzt_topo_nestbc_s, 's', 's' )
     3499             ENDIF
     3500             IF ( passive_scalar )  THEN
     3501                CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,     &
    34653502                                          r1yo,r2yo, r1zo, r2zo, nzb_s_inner,   &
    34663503                                          logc_u_s, logc_ratio_u_s,             &
     
    34763513                   CALL pmci_extrap_ifoutflow_sn( pt,nzb_s_inner, 's', 's' )
    34773514                ENDIF
    3478                 IF ( humidity  .OR.  passive_scalar )  THEN
     3515                IF ( humidity )  THEN
    34793516                   CALL pmci_extrap_ifoutflow_sn( q, nzb_s_inner, 's', 's' )
     3517                ENDIF
     3518                IF ( passive_scalar )  THEN
     3519                   CALL pmci_extrap_ifoutflow_sn( s, nzb_s_inner, 's', 's' )
    34803520                ENDIF
    34813521             ENDIF
     
    35083548                                          nzt_topo_nestbc_n, 'n', 's' )
    35093549             ENDIF
    3510              IF ( humidity  .OR.  passive_scalar )  THEN
     3550             IF ( humidity )  THEN
    35113551                CALL pmci_interp_tril_sn( q, qc, ico, jco, kco, r1xo, r2xo,     &
     3552                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
     3553                                          logc_u_n, logc_ratio_u_n,             &
     3554                                          nzt_topo_nestbc_n, 'n', 's' )
     3555             ENDIF
     3556             IF ( passive_scalar )  THEN
     3557                CALL pmci_interp_tril_sn( s, sc, ico, jco, kco, r1xo, r2xo,     &
    35123558                                          r1yo, r2yo, r1zo, r2zo, nzb_s_inner,  &
    35133559                                          logc_u_n, logc_ratio_u_n,             &
     
    35233569                   CALL pmci_extrap_ifoutflow_sn( pt,nzb_s_inner, 'n', 's' )
    35243570                ENDIF
    3525                 IF ( humidity  .OR.  passive_scalar )  THEN
     3571                IF ( humidity )  THEN
    35263572                   CALL pmci_extrap_ifoutflow_sn( q, nzb_s_inner, 'n', 's' )
     3573                ENDIF
     3574                IF ( passive_scalar )  THEN
     3575                   CALL pmci_extrap_ifoutflow_sn( s, nzb_s_inner, 'n', 's' )
    35273576                ENDIF
    35283577
     
    35473596                                   r2yo, r1zo, r2zo, 's' )
    35483597       ENDIF
    3549        IF ( humidity .OR. passive_scalar )  THEN
     3598       IF ( humidity )  THEN
    35503599          CALL pmci_interp_tril_t( q, qc, ico, jco, kco, r1xo, r2xo, r1yo,      &
     3600                                   r2yo, r1zo, r2zo, 's' )
     3601       ENDIF
     3602       IF ( passive_scalar )  THEN
     3603          CALL pmci_interp_tril_t( s, sc, ico, jco, kco, r1xo, r2xo, r1yo,      &
    35513604                                   r2yo, r1zo, r2zo, 's' )
    35523605       ENDIF
     
    35603613             CALL pmci_extrap_ifoutflow_t( pt, 's' )
    35613614          ENDIF
    3562           IF ( humidity  .OR.  passive_scalar )  THEN
     3615          IF ( humidity )  THEN
    35633616             CALL pmci_extrap_ifoutflow_t( q, 's' )
     3617          ENDIF
     3618          IF ( passive_scalar )  THEN
     3619             CALL pmci_extrap_ifoutflow_t( s, 's' )
    35643620          ENDIF
    35653621       ENDIF
     
    35863642                                  kfuo, ijfc_s, 's' )
    35873643      ENDIF
    3588       IF ( humidity  .OR.  passive_scalar )  THEN
     3644      IF ( humidity )  THEN
    35893645         CALL pmci_anterp_tophat( q, qc, kctu, iflo, ifuo, jflo, jfuo, kflo,    &
     3646                                  kfuo, ijfc_s, 's' )
     3647      ENDIF
     3648      IF ( passive_scalar )  THEN
     3649         CALL pmci_anterp_tophat( s, sc, kctu, iflo, ifuo, jflo, jfuo, kflo,    &
    35903650                                  kfuo, ijfc_s, 's' )
    35913651      ENDIF
Note: See TracChangeset for help on using the changeset viewer.