Skip to content
Snippets Groups Projects
resolved_cloud.f90 53.1 KiB
Newer Older
  • Learn to ignore specific revisions
  •     PSPEEDR=ZFPR(:,:,:,3) / (PRT(:,:,:,3) * PRHODREF(:,:,:))
      ENDWHERE
      WHERE (PRT(:,:,:,5) > 1.E-04 )
        PSPEEDS=ZFPR(:,:,:,5) / (PRT(:,:,:,5) * PRHODREF(:,:,:))
      ENDWHERE
      WHERE (PRT(:,:,:,6) > 1.E-04 )
        PSPEEDG=ZFPR(:,:,:,6) / (PRT(:,:,:,6) * PRHODREF(:,:,:))
      ENDWHERE
      IF(KRR==7) THEN
        WHERE (PRT(:,:,:,7) > 1.E-04 )
          PSPEEDH=ZFPR(:,:,:,7) / (PRT(:,:,:,7) * PRHODREF(:,:,:))
        ENDWHERE
      ENDIF
    ENDIF
    
    ! Remove non-physical negative values (unnecessary in a perfect world) + corresponding budgets
    call Sources_neg_correct( hcloud, 'NECON', krr, ptstep, ppabst, ptht, prt, pths, prs, psvs, prhodj )
    
    !-------------------------------------------------------------------------------
    !
    !
    !*      13.     SWITCH BACK TO THE PROGNOSTIC VARIABLES
    !               ---------------------------------------
    !
    PTHS(:,:,:) = PTHS(:,:,:) * PRHODJ(:,:,:)
    !
    DO JRR = 1,KRR
      PRS(:,:,:,JRR)  = PRS(:,:,:,JRR) * PRHODJ(:,:,:)
    END DO
    !
    IF (HCLOUD=='C2R2' .OR. HCLOUD=='C3R5' .OR. HCLOUD=='KHKO' .OR. HCLOUD=='LIMA') THEN
      DO JSV = ISVBEG, ISVEND
        PSVS(:,:,:,JSV) = PSVS(:,:,:,JSV) * PRHODJ(:,:,:)
      ENDDO
    ENDIF
    
    !-------------------------------------------------------------------------------
    !
    END SUBROUTINE RESOLVED_CLOUD