Changeset 906 for codes/icosagcm/devel/src/vertical/disvert.f90
- Timestamp:
- 06/14/19 01:17:50 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
codes/icosagcm/devel/src/vertical/disvert.f90
r609 r906 148 148 END SUBROUTINE init_disvert 149 149 150 SUBROUTINE compute_rhodz(comp, ps, rhodz)151 USE icosa152 USE omp_para153 LOGICAL, INTENT(IN) :: comp ! .TRUE. to compute, .FALSE. to check154 REAL(rstd), INTENT(IN) :: ps(iim*jjm)155 REAL(rstd), INTENT(INOUT) :: rhodz(iim*jjm,llm)156 REAL(rstd) :: m, err157 INTEGER :: l,i,j,ij,dd158 err=0.159 160 IF(comp) THEN161 dd=1162 ELSE163 dd=0164 END IF165 166 DO l = ll_begin, ll_end167 DO j=jj_begin-dd,jj_end+dd168 DO i=ii_begin-dd,ii_end+dd169 ij=(j-1)*iim+i170 m = ( ap(l) - ap(l+1) + (bp(l)-bp(l+1))*ps(ij) )/g171 IF(comp) THEN172 rhodz(ij,l) = m173 ELSE174 err = MAX(err,abs(m-rhodz(ij,l)))175 END IF176 ENDDO177 ENDDO178 ENDDO179 180 IF(.NOT. comp) THEN181 IF(err>1e-10) THEN182 PRINT *, 'Discrepancy between ps and rhodz detected', err183 STOP184 ELSE185 ! PRINT *, 'No discrepancy between ps and rhodz detected'186 END IF187 END IF188 189 END SUBROUTINE compute_rhodz190 191 192 150 SUBROUTINE write_apbp 193 151 USE icosa
Note: See TracChangeset
for help on using the changeset viewer.