Ignore:
Timestamp:
06/14/19 01:17:50 (5 years ago)
Author:
dubos
Message:

devel : compute_rhodz for unstructured mesh

File:
1 edited

Legend:

Unmodified
Added
Removed
  • codes/icosagcm/devel/src/vertical/disvert.f90

    r609 r906  
    148148  END SUBROUTINE init_disvert   
    149149   
    150   SUBROUTINE compute_rhodz(comp, ps, rhodz) 
    151     USE icosa 
    152     USE omp_para 
    153     LOGICAL, INTENT(IN) :: comp ! .TRUE. to compute, .FALSE. to check 
    154     REAL(rstd), INTENT(IN) :: ps(iim*jjm) 
    155     REAL(rstd), INTENT(INOUT) :: rhodz(iim*jjm,llm) 
    156     REAL(rstd) :: m, err 
    157     INTEGER :: l,i,j,ij,dd 
    158     err=0. 
    159  
    160     IF(comp) THEN 
    161        dd=1 
    162     ELSE 
    163        dd=0 
    164     END IF 
    165  
    166     DO l = ll_begin, ll_end 
    167        DO j=jj_begin-dd,jj_end+dd 
    168           DO i=ii_begin-dd,ii_end+dd 
    169              ij=(j-1)*iim+i 
    170              m = ( ap(l) - ap(l+1) + (bp(l)-bp(l+1))*ps(ij) )/g  
    171              IF(comp) THEN 
    172                 rhodz(ij,l) = m 
    173              ELSE 
    174                 err = MAX(err,abs(m-rhodz(ij,l))) 
    175              END IF 
    176           ENDDO 
    177        ENDDO 
    178     ENDDO 
    179  
    180     IF(.NOT. comp) THEN 
    181        IF(err>1e-10) THEN 
    182           PRINT *, 'Discrepancy between ps and rhodz detected', err 
    183           STOP 
    184        ELSE 
    185 !          PRINT *, 'No discrepancy between ps and rhodz detected' 
    186        END IF 
    187     END IF 
    188  
    189   END SUBROUTINE compute_rhodz 
    190  
    191   
    192150  SUBROUTINE write_apbp 
    193151  USE icosa 
Note: See TracChangeset for help on using the changeset viewer.