Browse Source

Changed to more suitable name "RCO".

1.02.00
Sven Karsten 10 months ago
parent
commit
a5838742d9
  1. 16
      src/flux_calculator_calculate.F90
  2. 8
      src/flux_calculator_prepare.F90
  3. 12
      src/flux_lib/flux_library.F90
  4. 6
      src/flux_lib/heat/flux_heat_sensible.F90
  5. 6
      src/flux_lib/mass/flux_mass_evap.F90
  6. 6
      src/flux_lib/momentum/flux_momentum.F90

16
src/flux_calculator_calculate.F90

@ -85,9 +85,9 @@ MODULE flux_calculator_calculate
local_field(i,1)%var(idx_UATM)%field(j), &
local_field(i,1)%var(idx_VATM)%field(j))
ENDDO
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
DO j=1,grid_size(1)
CALL flux_mass_evap_meier(local_field(i,1)%var(idx_MEVA)%field(j), &
CALL flux_mass_evap_rco(local_field(i,1)%var(idx_MEVA)%field(j), &
local_field(i,1)%var(idx_QATM)%field(j), &
local_field(i,1)%var(idx_TSUR)%field(j), &
local_field(i,1)%var(idx_UATM)%field(j), &
@ -173,9 +173,9 @@ MODULE flux_calculator_calculate
local_field(i,1)%var(idx_UATM)%field(j), &
local_field(i,1)%var(idx_VATM)%field(j))
ENDDO
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
DO j=1,grid_size(1)
CALL flux_heat_sensible_meier(local_field(i,1)%var(idx_HSEN)%field(j), &
CALL flux_heat_sensible_rco(local_field(i,1)%var(idx_HSEN)%field(j), &
local_field(i,1)%var(idx_TATM)%field(j), &
local_field(i,1)%var(idx_TSUR)%field(j), &
local_field(i,1)%var(idx_UATM)%field(j), &
@ -229,9 +229,9 @@ MODULE flux_calculator_calculate
local_field(i,which_grid)%var(idx_UATM)%field(j), &
local_field(i,which_grid)%var(idx_VATM)%field(j))
ENDDO
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
DO j=1,grid_size(which_grid)
CALL flux_momentum_meier(local_field(i,which_grid)%var(idx_UMOM)%field(j), &
CALL flux_momentum_rco(local_field(i,which_grid)%var(idx_UMOM)%field(j), &
dummy, &
local_field(i,which_grid)%var(idx_UATM)%field(j), &
local_field(i,which_grid)%var(idx_VATM)%field(j))
@ -282,9 +282,9 @@ MODULE flux_calculator_calculate
local_field(i,which_grid)%var(idx_UATM)%field(j), &
local_field(i,which_grid)%var(idx_VATM)%field(j))
ENDDO
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
DO j=1,grid_size(which_grid)
CALL flux_momentum_meier(dummy, &
CALL flux_momentum_rco(dummy, &
local_field(i,which_grid)%var(idx_VMOM)%field(j), &
local_field(i,which_grid)%var(idx_UATM)%field(j), &
local_field(i,which_grid)%var(idx_VATM)%field(j))

8
src/flux_calculator_prepare.F90

@ -102,7 +102,7 @@ MODULE flux_calculator_prepare
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_VATM)%field )) missing_field=trim(missing_field)//' VATM'
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_QATM)%field )) missing_field=trim(missing_field)//' QATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_QSUR)%field )) missing_field=trim(missing_field)//' TSUR'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
@ -177,7 +177,7 @@ MODULE flux_calculator_prepare
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TSUR'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_VATM)%field )) missing_field=trim(missing_field)//' VATM'
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TSUR'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
@ -221,7 +221,7 @@ MODULE flux_calculator_prepare
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TSUR'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_VATM)%field )) missing_field=trim(missing_field)//' VATM'
ELSE
@ -261,7 +261,7 @@ MODULE flux_calculator_prepare
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_TATM)%field )) missing_field=trim(missing_field)//' TSUR'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' VATM'
ELSEIF (trim(method)=='MEIER') THEN
ELSEIF (trim(method)=='RCO') THEN
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_UATM)%field )) missing_field=trim(missing_field)//' UATM'
IF (.NOT. ASSOCIATED( local_field(surface_type,which_grid)%var(idx_VATM)%field )) missing_field=trim(missing_field)//' VATM'
ELSE

12
src/flux_lib/flux_library.F90

@ -16,15 +16,15 @@ module flux_library
! import flux calculation functions from different modules:
! mass fluxes
use flux_mass_evap, only: flux_mass_evap_cclm, flux_mass_evap_mom5, flux_mass_evap_meier
use flux_mass_evap, only: flux_mass_evap_cclm, flux_mass_evap_mom5, flux_mass_evap_rco
! heat fluxes
use flux_heat_latent, only: flux_heat_latent_ice, flux_heat_latent_water
use flux_heat_sensible, only: flux_heat_sensible_cclm, flux_heat_sensible_mom5, flux_heat_sensible_meier
use flux_heat_sensible, only: flux_heat_sensible_cclm, flux_heat_sensible_mom5, flux_heat_sensible_rco
! radiation fluxes
use flux_radiation_blackbody, only: flux_radiation_blackbody_StBo
use distribute_radiation_flux_mod, only: distribute_radiation_flux
! momentum fluxes
use flux_momentum, only: flux_momentum_cclm, flux_momentum_mom5, flux_momentum_meier
use flux_momentum, only: flux_momentum_cclm, flux_momentum_mom5, flux_momentum_rco
implicit none ; private
@ -33,13 +33,13 @@ module flux_library
public flux_heat_latent_water
public flux_heat_sensible_cclm
public flux_heat_sensible_mom5
public flux_heat_sensible_meier
public flux_heat_sensible_rco
public flux_mass_evap_cclm
public flux_mass_evap_mom5
public flux_mass_evap_meier
public flux_mass_evap_rco
public flux_momentum_cclm
public flux_momentum_mom5
public flux_momentum_meier
public flux_momentum_rco
public flux_radiation_blackbody_StBo
public distribute_radiation_flux
public spec_vapor_surface_cclm

6
src/flux_lib/heat/flux_heat_sensible.F90

@ -17,7 +17,7 @@ module flux_heat_sensible
! expose all functions
public flux_heat_sensible_cclm
public flux_heat_sensible_mom5
public flux_heat_sensible_meier
public flux_heat_sensible_rco
contains
@ -134,7 +134,7 @@ contains
end subroutine flux_heat_sensible_mom5
subroutine flux_heat_sensible_meier( &
subroutine flux_heat_sensible_rco( &
flux_heat_sensible, & ! RESULT (W/m2)
temperature_atmos, & ! T_a (K)
temperature_surface, & ! T_s (K)
@ -164,7 +164,7 @@ subroutine flux_heat_sensible_meier( &
flux_heat_sensible = rho_a * c_pa * c_aw * vel * (temperature_surface - temperature_atmos)
end subroutine flux_heat_sensible_meier
end subroutine flux_heat_sensible_rco
end module flux_heat_sensible

6
src/flux_lib/mass/flux_mass_evap.F90

@ -15,7 +15,7 @@ module flux_mass_evap
! expose all functions
public flux_mass_evap_cclm
public flux_mass_evap_mom5
public flux_mass_evap_meier
public flux_mass_evap_rco
contains
@ -117,7 +117,7 @@ contains
end subroutine flux_mass_evap_mom5
subroutine flux_mass_evap_meier( &
subroutine flux_mass_evap_rco( &
flux_mass_evap, & ! RESULT (kg/m2/s)
specific_vapor_content_atmos, & ! q_{v,a} (kg/kg)
temperature_surface, & ! T_s (K)
@ -155,6 +155,6 @@ vel = sqrt(u_atmos*u_atmos + v_atmos*v_atmos) ! atmospheric vel
! mass flux of evaporation
flux_mass_evap = rho_a * c_aw * vel * (q_w - specific_vapor_content_atmos)
end subroutine flux_mass_evap_meier
end subroutine flux_mass_evap_rco
end module flux_mass_evap

6
src/flux_lib/momentum/flux_momentum.F90

@ -15,7 +15,7 @@ module flux_momentum
! expose all functions
public flux_momentum_cclm
public flux_momentum_mom5
public flux_momentum_meier
public flux_momentum_rco
contains
@ -107,7 +107,7 @@ contains
end subroutine flux_momentum_mom5
subroutine flux_momentum_meier( &
subroutine flux_momentum_rco( &
flux_momentum_east, & ! RESULT (N/m2)
flux_momentum_north, & ! RESULT (N/m2)
u_atmos, & ! u_a (m/s)
@ -135,6 +135,6 @@ subroutine flux_momentum_meier( &
flux_momentum_east = - rho_a * c_aw * vel * u_atmos
flux_momentum_north = - rho_a * c_aw * vel * v_atmos
end subroutine flux_momentum_meier
end subroutine flux_momentum_rco
end module flux_momentum
Loading…
Cancel
Save