Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Possibly incorrect rho representation in PUMAS downstream diagnostics

Đang mở
#77 1 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
35/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Ít trao đổi
Công nghệ
fortran
Lĩnh vực
backend

Hướng nghiên cứu

So sánh các phép tính rho trong micro_pumas_v1.F90 và tệp CAM được tham chiếu micro_pumas_cam.F90, sau đó truy vết cách các chẩn đoán downstream sử dụng giá trị này. Xác định liệu các biểu diễn có nhất quán về mặt khoa học hay không và ghi lại các tác động trên các mô hình; được coi là hoàn tất khi đã quyết định một phương án và xác định các yêu cầu phối hợp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

During the review of CCPPized PUMAS, https://github.com/ESCOMP/atmospheric_physics/pull/357, @nusbaume originally wrote:

There might be a science bug here, in that the rho is calculated using the dry air gas constant and regular temperature (but the full pressure), and is then being used to convert the value of various mass number concentration variables (like ncic), which is with respect to the mass of moist air and condensed water. I obviously wouldn't worry about fixing it here, but might be worth opening an issue so that we can double-check it in the future?

Also pinging @PeterHjortLauritzen in case I am totally wrong here.

Jesse originally referred to the post-interstitial CCPP code, which is adapted from CAM:
https://github.com/ESCOMP/CAM/blob/5f582d41d2a109a5eb5369e0c8b7975d8e2ea4c4/src/physics/cam7/micro_pumas_cam.F90#L3055-L3061

   ! Calculate rho (on subcolumns if turned on) for size distribution
   ! parameter calculations and average it if needed
   !
   ! State instead of state_loc to preserve answers for MG1 (and in any
   ! case, it is unlikely to make much difference).
   rho(:ncol,top_lev:) = state%pmid(:ncol,top_lev:) / &
        (rair*state%t(:ncol,top_lev:))

...

   do k = top_lev, pver
      !$acc data copyin  (mg_liq_props,icwmrst_grid(:ngrdcol,k),rho_grid(:ngrdcol,k)) &
      !$acc      copy    (ncic_grid(:ngrdcol,k)) &
      !$acc      copyout (mu_grid(:ngrdcol,k),lambdac_grid(:ngrdcol,k))
      call size_dist_param_liq(mg_liq_props, icwmrst_grid(:ngrdcol,k), &
                               ncic_grid(:ngrdcol,k), rho_grid(:ngrdcol,k), &
                               mu_grid(:ngrdcol,k), lambdac_grid(:ngrdcol,k), ngrdcol)
      !$acc end data
   end do

This rho is used consistently with the rho defined internally in PUMAS

https://github.com/ESCOMP/PUMAS/blob/3e6bb5463436931d2af6aad419ee408a49723c67/micro_pumas_v1.F90#L1309-L1313

Personally, I am not sure if we should keep the rhos consistent between PUMAS and the downstream interstitials. If yes, then a PUMAS change is almost surely above-roundoff answer changing for CAM7. If no, then what are the impacts of such inconsistency?

If a change is suggested, it would have to be coordinated among all the models that use PUMAS so the downstream diagnostics code is consistent.

Ngôn ngữ chính
Fortran
Star
12
Fork
24
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
1

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ESCOMP/PUMAS

Tất cả issue của ESCOMP/PUMAS

Issue tương tự

Thêm issue về Backend & API Design

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.