Hi all,
I have been trying to conduct a hosing experiment using CESM. I have followed the instructions provided in the website The CESM1.2 POP2 FAQ and made modifications to the file forcing_coupled.F90 in the loop calculating STF. However, the output remains unchanged compared to the control run, and no error is reported. I would greatly appreciate any guidance on why the modifications are not working and what steps I should take next.
The code I have used is as follows. I try to add additional water flux in the specific area while removing water from the rest of the global ocean.
!$OMP PARALLEL DO PRIVATE( iblock)
do iblock=1,nblocks_clinic
STF(:,:,2,iblock)= RCALCT(:,:,iblock)*( &
(PREC_F(:,:,iblock)+EVAP_F(:,:,iblock)+ &
MELT_F(:,:,iblock)+(C1-MASK_ESTUARY(:,:,iblo:k))*ROFF_F(:,:,iblock)+&
IOFF_F(:,:,iblock))*salinity factor &
+ SALT F(:,:,,iblock)*sflux factor)
do j=1,ny_block
do i=1,nx_block
if ((TLATD(i,j,iblock)>60.0_r8) .and. TLATD(i,j,iblck)<80.0_r8) &
.and. (TLOND(i,j,iblock)> 320.0_r8) .and. (TLOND(i,j,iblock)< 350.0_r8) ) then
STF(i,j,2,iblock)= STF(i,j,2,iblock)+ 1.0e-4_r8
else
STF(i,j,2,iblock)= STF(i,j,2,iblock)- 2.0e-5_r8
endif
enddo
enddo
enddo
I have been trying to conduct a hosing experiment using CESM. I have followed the instructions provided in the website The CESM1.2 POP2 FAQ and made modifications to the file forcing_coupled.F90 in the loop calculating STF. However, the output remains unchanged compared to the control run, and no error is reported. I would greatly appreciate any guidance on why the modifications are not working and what steps I should take next.
The code I have used is as follows. I try to add additional water flux in the specific area while removing water from the rest of the global ocean.
!$OMP PARALLEL DO PRIVATE( iblock)
do iblock=1,nblocks_clinic
STF(:,:,2,iblock)= RCALCT(:,:,iblock)*( &
(PREC_F(:,:,iblock)+EVAP_F(:,:,iblock)+ &
MELT_F(:,:,iblock)+(C1-MASK_ESTUARY(:,:,iblo:k))*ROFF_F(:,:,iblock)+&
IOFF_F(:,:,iblock))*salinity factor &
+ SALT F(:,:,,iblock)*sflux factor)
do j=1,ny_block
do i=1,nx_block
if ((TLATD(i,j,iblock)>60.0_r8) .and. TLATD(i,j,iblck)<80.0_r8) &
.and. (TLOND(i,j,iblock)> 320.0_r8) .and. (TLOND(i,j,iblock)< 350.0_r8) ) then
STF(i,j,2,iblock)= STF(i,j,2,iblock)+ 1.0e-4_r8
else
STF(i,j,2,iblock)= STF(i,j,2,iblock)- 2.0e-5_r8
endif
enddo
enddo
enddo