Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cam6_3_154: Update U10 to be resolved wind; add variable for U10+gusts #994

Merged
merged 6 commits into from
Apr 4, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions src/control/camsrfexch.F90
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ module camsrfexch
real(r8) :: qref(pcols) ! ref height specific humidity
real(r8) :: u10(pcols) ! 10m wind speed
real(r8) :: ugustOut(pcols) ! gustiness added
real(r8) :: u10withGusts(pcols) ! 10m wind speed with gusts added
real(r8) :: ts(pcols) ! merged surface temp
real(r8) :: sst(pcols) ! sea surface temp
real(r8) :: snowhland(pcols) ! snow depth (liquid water equivalent) over land
Expand Down Expand Up @@ -220,6 +221,7 @@ subroutine hub2atm_alloc( cam_in )
cam_in(c)%qref (:) = 0._r8
cam_in(c)%u10 (:) = 0._r8
cam_in(c)%ugustOut (:) = 0._r8
cam_in(c)%u10withGusts (:) = 0._r8
cam_in(c)%ts (:) = 0._r8
cam_in(c)%sst (:) = 0._r8
cam_in(c)%snowhland(:) = 0._r8
Expand Down
12 changes: 12 additions & 0 deletions src/cpl/nuopc/atm_import_export.F90
Original file line number Diff line number Diff line change
Expand Up @@ -246,6 +246,7 @@ subroutine advertise_fields(gcomp, flds_scalar_name, rc)
call fldlist_add(fldsToAtm_num, fldsToAtm, 'So_ustar' )
call fldlist_add(fldsToAtm_num, fldsToAtm, 'Sx_u10' )
call fldlist_add(fldsToAtm_num, fldsToAtm, 'So_ugustOut')
call fldlist_add(fldsToAtm_num, fldsToAtm, 'So_u10withGust')
call fldlist_add(fldsToAtm_num, fldsToAtm, 'Faxx_taux' )
call fldlist_add(fldsToAtm_num, fldsToAtm, 'Faxx_tauy' )
call fldlist_add(fldsToAtm_num, fldsToAtm, 'Faxx_lat' )
Expand Down Expand Up @@ -780,6 +781,17 @@ subroutine import_fields( gcomp, cam_in, restart_init, rc)
end do
end if

call state_getfldptr(importState, 'So_u10withGust', fldptr=fldptr1d, exists=exists, rc=rc)
if (ChkErr(rc,__LINE__,u_FILE_u)) return
if (exists) then
g = 1
do c = begchunk,endchunk
do i = 1,get_ncols_p(c)
cam_in(c)%u10withGusts(i) = fldptr1d(g)
g = g + 1
end do
end do
end if

! bgc scenarios
call state_getfldptr(importState, 'Fall_fco2_lnd', fldptr=fldptr1d, exists=exists_fco2_lnd, rc=rc)
Expand Down
2 changes: 2 additions & 0 deletions src/physics/cam/cam_diagnostics.F90
Original file line number Diff line number Diff line change
Expand Up @@ -502,6 +502,7 @@ subroutine diag_init_moist(pbuf2d)
call addfld ('QREFHT', horiz_only, 'A', 'kg/kg','Reference height humidity')
call addfld ('U10', horiz_only, 'A', 'm/s','10m wind speed')
call addfld ('UGUST', horiz_only, 'A', 'm/s','Gustiness term added to U10')
call addfld ('U10WITHGUSTS',horiz_only, 'A', 'm/s','10m wind speed with gustiness added')
call addfld ('RHREFHT', horiz_only, 'A', 'fraction','Reference height relative humidity')

call addfld ('LANDFRAC', horiz_only, 'A', 'fraction','Fraction of sfc area covered by land')
Expand Down Expand Up @@ -1787,6 +1788,7 @@ subroutine diag_surf (cam_in, cam_out, state, pbuf)
call outfld('QREFHT', cam_in%qref, pcols, lchnk)
call outfld('U10', cam_in%u10, pcols, lchnk)
call outfld('UGUST', cam_in%ugustOut, pcols, lchnk)
call outfld('U10WITHGUSTS',cam_in%u10withGusts, pcols, lchnk)

!
! Calculate and output reference height RH (RHREFHT)
Expand Down